go-internals
go-internals copied to clipboard
golang内存模型第一个bug的例子
在这个例子中,如果buffered chan 的长度为1,是不会有bug的吧?我在本地使用go run -race运行也不会有任何报错,您是否把buffered chan的长度误写为1?如果不是,麻烦您能详细解释一下吗,谢谢。
之前回答过了。 https://github.com/tiancaiamao/go-internals/issues/19 https://github.com/tiancaiamao/go-internals/issues/28
原因是这本书,写的时候 Go 还在是 1.0/1.1 版本。现在新版本的语言规范里面把这个行为改掉了。
先别关这个 issue,我决定后面抽空把它 fix 一下。@shscy
感觉这两年go更新了好多东西,很多已经不大一样了。最近也是刚刚开始深入go
话说要不要readme注明一下基于go1.1
我也是看到这个地方,实在无法理解了,测试了一下代码,也不会报错,所以跑来看看。看来作者也很忙啊,没空更新了😂