我想知道为什么有 0 而不是 1?
那是一个指针而不是一个值。谢谢大家。
package main
import "fmt"
func main() {
var i = new(int)
defer func(i *int) {
fmt.Printf("3:%p,%v\n", i, *i)
}(i)
defer fmt.Printf("2:%p,%v\n", i, *i)
*i++
fmt.Printf("1:%p,%v\n", i, *i)
}
//1:0x1400001c0a0,1
//2:0x1400001c0a0,0
//3:0x1400001c0a0,1
繁星点点滴滴
largeQ
相关分类