DevilKing's blog

冷灯看剑,剑上几分功名?炉香无需计苍生,纵一穿烟逝,万丈云埋,孤阳还照古陵

0%

The state of Go(1.8)

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
2
sort.Sort(byName(p))
sort.Sort(byAge(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的功能?