- 1.【给结构体绑定函数】是对结构体的拷贝;
- 如果想在拷贝中改变原本结构体存放的值, 那就用【给结构体指针绑定函数】的方式;
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的内容
}