方法
代码:
//example.go
package test
import "fmt"
type User struct {
Name string
Id int
}
//定义方法,该方法是User结构体的方法
//这里面是值传递
func (u User) printName() {
fmt.Println("u.Name=", u.Name)
}
//定义方法,该方法是User结构体的方法
//这里面是引用传递
func (u *User) setId() {
u.Id = 10000 //(*u).id = 10000
}
func Method() {
u := User{
Name: "小方块",
}
s := User{
Name: "李四",
}
u.printName()
s.printName()
u.setId()
s.setId()
fmt.Println(u) //{小方块 10000}
fmt.Println(s) //{李四 10000}
}
//main.go
package main
import "GoExample/test"
func main() {
test.Method()
}
本博客参考自:
https://www.bilibili.com/video/BV1s341147US/?spm_id_from=333.337.search-card.all.click&vd_source=a642bb3ddc5b706845426dc41d73fbda