【发布时间】:2017-12-03 08:49:32
【问题描述】:
我有一个结构
type keeper struct {
ptr int32
}
然后我给它添加一个函数
func(l keeper) next() {
l.ptr++
}
但是当我创建一个新的 keeper 并调用 next()
tester := keeper {
ptr: 0,
}
test.next()
看来我没有在测试仪中修改 ptr 值。如果我将函数更改为指针,则它可以工作
func(l *keeper) next() {
l.ptr++
}
为什么会这样?
【问题讨论】: