新手求教一个Go struct指针赋值为nil的问题

Yannick · · 2307 次点击
go函数只有一种传递方式 就是值传递。你用指针作为参数 传递的时候 会对指针做一个复制,所以你在函数内部将指针设置为nil并不影响原有指针,但是你可以通过指针修改指向的对象的值,所以 "会发现s1也被修改了"
#5
更多评论
你的代码,复制了一份指针,你只是将复制的指针置为 nil,并不影响原来的。
#1
我传递的函数入参数是指针,并不是值类型,为什么你说是拷贝了一份指针?我怎么样才能将s1置为nil呢?函数return nil然后用s1接受赋值这种方法不算。谢谢指教
#2