Go语言中地址传递引出的不解问题

thao888 · · 2926 次点击
谢谢大家耐心解答,终于理解清楚了
#9
更多评论
指针是对指向内容的引用,不是对指针变量的引用
#1
import "fmt" type Student struct { Name string } func remove(stu *Student) { fmt.Println("2----", stu) *stu = Student{"我爱你"} fmt.Println("3----", stu) } func main() { stu := &Student{"中国"} fmt.Println("1----", stu) remove(stu) fmt.Println("4----", stu) } 你要修改的是局部指针指向的变量的值,所以用*stu改变其值,否则stu只是改变了方法作用域内局部指针指向的变量,并没有改变外部指针指向的变量的值域
#2