golang版本特性,自舉之后的版本
Go 1.5
1. 編譯器和運(yùn)行時(shí)現(xiàn)在完全用Go編寫(xiě)(帶有一點(diǎn)匯編程序),實(shí)現(xiàn)自舉
2. GC是并發(fā)的,并且在可能的情況下與其他goroutine并行運(yùn)行,從而顯著降低了暫停STW時(shí)間
3. 默認(rèn)情況下,Go程序運(yùn)行時(shí)GOMAXPROCS設(shè)置為可用的核心數(shù); 在之前的版本中它默認(rèn)為1
Go 1.6
1. 默認(rèn)使用 cgo 外部 C 編譯器,支持go調(diào)用c代碼或者c庫(kù)
2. 支持http/2協(xié)議
Go 1.7
1. 從x/net子庫(kù)中提升context到標(biāo)準(zhǔn)庫(kù)
2. 正式支持vendor
Go 1.8
1. 添加http/2推送 添加更多content(上下文)支持
2. 減少GC停頓
Go 1.9
1. math/bits 包,這是一個(gè)新包,它對(duì)操作 bits 進(jìn)行了優(yōu)化
2. 并行編譯,Go 1.9 編譯器支持并行編譯包中的函數(shù),利用多個(gè)處理器內(nèi)核
3. 類型別名的支持,同時(shí)支持在程序包之間移動(dòng)類型
4. sync 包中的新 Map 類型, 并發(fā)Map
5. 改進(jìn)測(cè)試能力
Go 1.10
1. 構(gòu)建包的緩存
2. 添加了成功測(cè)試結(jié)果的緩存
3. 并允許使用cgo直接在Go和C之間傳遞字符串值
Go 1.11
1. modules”的新概念的初步支持,這是GOPATH的替代方案,集成了對(duì)版本控制和軟件包分發(fā)的支持
2. WebAssembly支持,員將Go程序編譯為與四種主要Web瀏覽器兼容的二進(jìn)制格式
Go 1.12
1. Go Module 進(jìn)一步支持
2. crypto/tls包中添加了對(duì) TLS 1.3 的選擇支持
Go 1.13
1. Go modules大規(guī)模使用,GOPROXY=proxy1,proxy2,proxy,direct 下載庫(kù)包的時(shí)逐個(gè)試用各個(gè)代理,直到可用的為止。direct表示直連
2. 更多的數(shù)字字面量和改進(jìn)的panic信息
