对一段Go语言代码输出结果的简要分析

bigwhite ·
<a href="/user/heimeil" title="@heimeil">@heimeil</a> 谢谢,明白了
#3
更多评论
func (p field) print() 修改后为什么是 four five six 能解释下吗,想了很久没想明白。谢谢
#1
可以思考一下上面的等价转换,变成了`func print(p field)`,这样传参就是copy了。 另外补充一下,`range data2`的`go v.print()`下面加一个`runtime.Gosched()`,也可以输出`four five six`,意思是交出执行权给其他goroutine,这样`for`循环就暂停了,直接执行`v.print()`了
#2