新手求教,以下两种实现方式有何区别?怎么选择使用哪一种方式?

shileislslsl · · 2460 次点击
第一个指针,相当于拿了他的地址,属于连体婴儿。第二个指针相当于复制了一份,复制完了就和原数据无关了就是独立的,双胞胎的感觉
#6
更多评论
结构体在赋值给变量或者函数传参时,会复制一份 比如 //第二种 a:=DefaultParamsRequire() b := a b.IntMin = 10 a.IntMin的值还是-1 如果用第一种则不是复制一份,是引用关系,b变a也变
#1
go只有值传递的概念,也就是复制一份传给别人。然而,为了传递对象,或者自定义结构体,总不能也搞值传递吧。毕竟我生成一个对象也不容易。那怎么办呢?就把对象的地址传给你就行了。于是&就是取引用地址的。
#2