新手疑问:为什么struct指针变量直接取到struct成员的值呢,不应该是一个地址么

jackchen007 · · 1619 次点击
楼上解释的比较清楚了
#3
更多评论
OK, 我明白了,一个修改的是原引用的值,另一个函数修改的仅仅是一份拷贝,不会影响原变量所指向的值
#1
qkb_75_go
琴为心声
原始设计是这样的: (v *Vertex)这种情况下函数堆栈传参数只传指针;(v Vertex)时函数传参数会把该struct整个放到堆栈上,所以速度会慢很多。 至于传指针的调用会修改结构体,倒是意外的收获。 还有,函数调用之所有都是 v.Abs(),是因为 golang自己能识别 receiver 是不是指针,透明给映射了。
#2