Changes since Go 1.7
The Language
The Standard Library
The Runtime
The Tooling
The Community
The Language
- Conversion rules
可以针对same sequence of fields and corresponding fields with same type 进行类型强转
- Ports to other platforms
针对大小端的32位linux系统的兼容性
同时针对arm进行支持
- Tool
针对context部分的修正
1 | go tool fix -diff -force=context state-of-go/tools/gofix.go |
vet部分可以静态检查代码?
1 | go vet state-of-go/tools/govet.go |
SSA everywhere?
Runtime
- Detection of concurrent map accesses
关于map的并发读写问题,
是指掩盖了map的并发读写的问题,还是检测map的并发读写问题?
- bench use mutex contention profile
关于mutex部分,wide protection and narrow protection
- GC history in tweets
defer and cgo is faster
The Standard Library
- sort部分
1 | sort.Sort(byName(p)) |
原生支持按照field部分进行排序,无需定义之前len,less,swap等等操作
同时也只支持sort.Slice
- plugins部分
1 | go build -buildmode=plugin |
可以编译成为.so文件,然后在第三方文件中使用,通过Lookup的方式,来寻找相关的函数以及变量
- http shutdown
加入http.server的shutdown机制
这样能够及时判断http.server是否退出?
- HTTP/2
可以使用http.Response来推送进行?使用http.Pusher的功能?