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

shileislslsl · · 2427 次点击
结构体在赋值给变量或者函数传参时,会复制一份 比如 //第二种 a:=DefaultParamsRequire() b := a b.IntMin = 10 a.IntMin的值还是-1 如果用第一种则不是复制一份,是引用关系,b变a也变
#1
更多评论
go只有值传递的概念,也就是复制一份传给别人。然而,为了传递对象,或者自定义结构体,总不能也搞值传递吧。毕竟我生成一个对象也不容易。那怎么办呢?就把对象的地址传给你就行了。于是&就是取引用地址的。
#2
一个是值传递,一个是指针传递,值传递需要对原来结构体做一次拷贝,指针传递传递的是原来的结构体。指针传递的好处是节省内存开销。
#3