Go 版本 #
版本历史 #
1.20 #
1.19 (2022-08-02) #
它的大部分变化是在工具链、运行时和库的实现方面。
1.18 (2022-03-15) #
- 范型
1.17 (2021-08-16) #
支持从切片到数组指针的转换。
1.16 (2021-02-16) #
go build
/go run
命令不再自动更新 go.mod 和 go.sum 了- 需要使用
go get
go mod tidy
依然执行对 go.mod 的清理自动更新 go.mod
–>-mod=readonly 选项避免自动更新 go.mod
–>取消自动更新 go.mod
- 需要使用
后续,Go 团队会让 go get 将专注于分析依赖,并获取 go 包/module,更新 go.mod/go.sum,而不再具有安装可执行 Go 程序的行为能力,
这样 go get 和 go install 就会各司其职,Gopher 们也不会再被两者的重叠行为所迷惑了。
现在如果不想 go get 编译安装,可使用 go get -d
1.15 (2020-08-11) #
- 开始检测 go.mod 写的 go 版本
go mod tidy: go.mod file indicates go 1.16, but maximum supported version is 1.15
1.14 (2020-02-25) #
- 嵌入接口的方法集可重叠
参考:
1.13 (2019-09-03) #
增加以 0b 或 0B 开头的二进制数字字面量、以“0o”或“0O”开头的八进制数字字面量、以 0x 或 0X 开头是的十六进制形式的浮点数字面量以及支持在数字字面量中通过数字分隔符 _
提高可读性;
1.12 (2019-02-25) #
1.11 (2018-08-24) #
- pprof
1.10 (2018-02-16) #
- 不用手动设置 GOROOT 了。
- 引入包列表模式
- 包列表模式下,go test 为每个包生成一个测试二进制文件,并分别执行它
go test package
参考:
1.9 (2017-08-24) #
- 新增了 type alias 语法
- Mutex 互斥锁的饥饿模式
1.8 (2017-02-16) #
- http/2
PUSH
功能
1.7 (2016-08-15) #
- 标准库
1.6 (2016-02-17) #
- Go HTTP2
- http2 is enabled by default in
Go 1.6+
with no changes to your code.
- http2 is enabled by default in
1.5 (2015-08-19) #
- 支持省略 map 类型字面量(literal)中的 key 的类型
- Go 1.5 开始,使用 Go 自举实现。
1.4 (2014-12-10) #
- 新增
for range x {…}
形式的for-range
语法 - Go 1.4 之前是 C 实现。
1.3 (2014-06-18) #
1.2 (2013-12-01) #
- 增加 Full slice expression:
a[low: high: max]
1.1 (2013-05-13) #
- 增加 method value 语法
GOPATH
是强制性的了
1.0 (2012-03-28) #
GOPATH 被篡改 #
everytime i login my zsh. my GOPATH is /…/.gvm/pkgsets/go1.9/global.
gvm use system
gvm pkgenv
<edit as required>
gvm use system --default
参考:
叶王 © 2013-2024 版权所有。如果本文档对你有所帮助,可以请作者喝饮料。