- 应该分清什么是值传递和引用传递。go里都是值传递。
- func的receiver也是值传递。
- 图中代码执行完毕后,结果为
<nil>
。原因是append的receiver把main中的a的值拷贝了一下,所以append中的this的值为nil
。 - append中的参数a的值确实赋值给了this,但main中的a并不是append中的this,所以main中的fmt还是输出了
nil
值的a。 根本原因在于:main中的a不是this。
更多评论
<nil>
。原因是append的receiver把main中的a的值拷贝了一下,所以append中的this的值为nil
。nil
值的a。
根本原因在于:main中的a不是this。