文档和书籍
func TestT2(t *testing.T) {
var a int
a = 20
fmt.Printf("%v\n",a)
str(&a)
fmt.Printf("%v\n",a)
str1(&a)
fmt.Printf("%v\n",a)
}
func str(a *int) {
x := 100
a = &x //这里只是修改了传来的指针,因为指针也是值传递,所以外部a不会有任何变化
}
func str1(a *int) {
x := 100
*a = x //这里是修改了传来的指针指向的内容,所以外部a就变成100了
}