package main import "fmt" type Test struct{ name string } //给结构体绑定函数 值传递 func (test Test) function(){ test.name = "结构体" } //给结构体指针绑定函数 引用传递 func(test *Test) pointFunction(){ test.name = "结构体指针" } func main(){ test := &Test{"创建赋值"} test.function() fmt.Println("name = ",test.name) // 打印 name = "创建赋值",因为是值传递,不修改name的实际值 var test1 Test test1.pointFunction() fmt.Println("name = ",test1.name) // 打印 name = "结构体指针",是引用传递会修改test.name的内容 }