为什么 Go 有些时候指针参数在函数内不需要 `*ptr` ?

isLishude · 2018-01-22 09:29:33 · 1277 次点击

func (p person) setName(name string) 等同于 func setName(p person,name string),修改对象的字段可以不带

#1
更多评论

谢谢,刚刚我突然意识到这一点。

#2

其实*有两种含义:

声明变量,表示这是一个指针,包括普通变量、函数参数、函数返回值等;

取值操作,从指针中取出具体值。

个人理解

#3