CODE4FUN
Go 1.2 Release Notes

Go 1.2 Release Notes

nil的使用

在Go 1.0中, 以下代码

type T struct {
    X [1<<24]byte
    Field int32
}

func main() {
    var x *T
    ...
}

x.Field将会访问1<<24指向的内存地址. 但是在Go 1.2中将会抛出run-time panic

允许设置slice容量的新切片语法

var array [10]int
slice = array[2:4:6]

slice的容量为6.

godoc和vet移动到go.tools

gccgo的状态

将来GCC4.9能包含完整的Go1.2. 目前的GCC4.8.2包含Go1.1.2.

cgo的变化

支持C++语法, 但是只支持C的导入符号. 详情参http://tip.golang.org/cmd/cgo/

支持测试覆盖率

通过安装go get code.google.com/p/go.tools/cmd/cover, 可以获得一个支持测试覆盖率的工具. 使用: shell $ go test -cover fmt ok fmt 0.060s coverage: 91.4% of statements

删除go doc命令

godoc依然可以使用

go命令的变化

go get增加-t参数, 用于下载包的测试用例.

性能优化

标准库的变化

参考资料: