我这样写新的字段值:
func (b *Block) Write(addr, info int) {
b.Addr = addr
b.Info = info
b.IsChange = true
fmt.Println("write", b)
}
我在更改值(“write”)和最后(“result”)后显示值。价值观不变
write &{1 25 true true}
result {7 44 false false}
我这样写新的字段值:
func (b *Block) Write(addr, info int) {
b.Addr = addr
b.Info = info
b.IsChange = true
fmt.Println("write", b)
}
我在更改值(“write”)和最后(“result”)后显示值。价值观不变
write &{1 25 true true}
result {7 44 false false}
你犯了两次同样的错误。
在这里,您返回循环变量的地址,而不是切片中值的地址。如果更改
search
并replacement
返回切片中值的地址,例如我们得到
游乐场: https: //play.golang.org/p/E8jSHEuJtj。