【发布时间】:2018-08-06 11:04:33
【问题描述】:
有一个函数可以设置一个指向nil值的指针:
func nilSetter(x *int) {
x = nil
}
我有这样的sn-p代码:
i := 42
fmt.Println(&i)
nilSetter(&i)
fmt.Println(&i)
哪些打印:
0xc42008a000
0xc42008a000
虽然我期待:
0xc42008a000
nil
我知道这是因为函数 nilSetter 只是复制地址并将该副本设置为 nil。
但是我怎样才能正确地做到这一点?
【问题讨论】: