成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

Google即將發(fā)布Go語(yǔ)言1.1版

2013-03-30 10:44:09來(lái)源:InfoQ作者:

繼2012年3月Google發(fā)布Go語(yǔ)言的第一個(gè)正式版本Go 1之后,時(shí)隔一年,Google將于近期發(fā)布Go 1.1。通過(guò)從Google網(wǎng)站內(nèi)收集到的信息,我們了解到新版本保持了對(duì)舊版本的兼容性,同時(shí)還添加了一些重大的語(yǔ)言特性,修改了

繼2012年3月Google發(fā)布Go語(yǔ)言的第一個(gè)正式版本Go 1之后,時(shí)隔一年,Google將于近期發(fā)布Go 1.1。通過(guò)從Google網(wǎng)站內(nèi)收集到的信息,我們了解到新版本保持了對(duì)舊版本的兼容性,同時(shí)還添加了一些重大的語(yǔ)言特性,修改了大量類庫(kù),并且改善了編譯器、類庫(kù)和運(yùn)行時(shí)的實(shí)現(xiàn)。

Google相信,很多用戶僅僅通過(guò)安裝新版本并重新編譯已有程序就能看到顯著的性能提升。以下就是InfoQ了解到的,即將發(fā)布的新版Go語(yǔ)言將為我們帶來(lái)的新特性(具體信息以正式發(fā)布時(shí)的特性列表為準(zhǔn))。

語(yǔ)言方面的變化如下:

  • 在Go 1.1中常量0作為除數(shù)時(shí)會(huì)引發(fā)編譯錯(cuò)誤而不是運(yùn)行時(shí)錯(cuò)誤。
  • 對(duì)Unicode文本中的代理項(xiàng)做了處理,在Go1.1中代理項(xiàng)約束內(nèi)置到了編譯器、類庫(kù)和運(yùn)行時(shí)中。
  • 實(shí)現(xiàn)了方法值,也就是能夠綁定到指定接收值的函數(shù)。
  • 引入了終止語(yǔ)句的概念,能夠更加自由地使用“return”語(yǔ)句。

在實(shí)現(xiàn)和工具方面,新版本也做了諸多改進(jìn),包括:

  • 命令行標(biāo)記解析。
  • 64位平臺(tái)上的int大小。
  • Unicode文本。
  • GC編譯器。
  • 修改了go/go test/go fix命令。

在性能方面,使用Go 1.1 GC工具套件編譯的代碼將為大多數(shù)應(yīng)用帶來(lái)30%到40%的性能提升,甚至?xí)撸?dāng)然對(duì)于少數(shù)程序性能提升并不明顯或者沒(méi)有提升。基于性能考慮,新版本對(duì)工具和類庫(kù)做了很多微調(diào),其中特別需要注意的幾個(gè)主要變動(dòng)如下:

  • GC編譯器在大多數(shù)情況下會(huì)生成更好的代碼,最重要的莫過(guò)于32位Intel架構(gòu)上的浮點(diǎn)數(shù)。
  • GC編譯器會(huì)做更多的內(nèi)聯(lián),包括一些運(yùn)行時(shí)操作,如append和接口轉(zhuǎn)換。
  • 重新實(shí)現(xiàn)了Go Map,大大降低了內(nèi)存占用和CPU時(shí)間消耗。
  • 優(yōu)化了垃圾回收器的并行化處理,降低了程序在多CPU上運(yùn)行的延遲。
  • 垃圾回收器更加精確,花費(fèi)的CPU時(shí)間更少,并能顯著降低堆大小,在32位架構(gòu)上尤為明顯。
  • 運(yùn)行時(shí)和網(wǎng)絡(luò)類庫(kù)緊耦合,網(wǎng)絡(luò)操作僅需要少量的上下文切換。

新版本Go語(yǔ)言對(duì)標(biāo)準(zhǔn)類庫(kù)也做了大量更新,包括:

  • 增加了一個(gè)新類型Scanner,以行或者空格分隔單詞的形式讀取輸入更加容易。
  • 對(duì)傳入ResolveTCPAddr的網(wǎng)絡(luò)名做了限定,不再像1.0那樣可以使用“tcp”、“tcp4”和“tcp6”之外的字符,在1.1中使用其他的字符串將會(huì)返回一個(gè)錯(cuò)誤。其他的解析器ResolveIPAddr、ResolveUDPAddr和ResolveUnixAddr也是如此。同時(shí)ListenUnixgram將返回UnixConn而不是UDPConn。
  • 在新版本中能夠使用reflect包運(yùn)行“select”語(yǔ)句。新方法Value.Convert(或者Type.ConvertibleTo)提供了執(zhí)行Go轉(zhuǎn)換或者對(duì)Value進(jìn)行類型斷言操作的功能。同時(shí)reflect包還新增了MakeFunc、ChanOf、MapOf和SliceOf等函數(shù)。
  • 在1.1版本中FreeBSD、Linux、NetBSD、OS X和OpenBSD平臺(tái)返回的時(shí)間精確度為納秒。
  • 過(guò)期的和舊的子樹(shù)轉(zhuǎn)移到了go.exp和go.text子庫(kù)中

對(duì)于類庫(kù)所做變更還有很多,在此無(wú)法一一列舉了,感興趣的讀者可以查看Google提供的介紹。

關(guān)鍵詞:GoogleGo語(yǔ)言

贊助商鏈接:

主站蜘蛛池模板: 崇文区| 德兴市| 镇巴县| 正宁县| 五大连池市| 奉贤区| 泾阳县| 普陀区| 卫辉市| 博爱县| 宜兴市| 抚宁县| 白城市| 维西| 酉阳| 尼勒克县| 中牟县| 平舆县| 惠来县| 宜君县| 邵阳县| 南丹县| 桃园县| 江阴市| 肃宁县| 汉源县| 临沂市| 宣化县| 吉林省| 隆安县| 江川县| 淮安市| 宾川县| 比如县| 唐河县| 阿尔山市| 汨罗市| 抚宁县| 晋宁县| 南康市| 庐江县|