go语言结构体及方法的一些细节笔记
声明一个结构体和结构体方法。
方法的接收者为值或者指针,都可以用值或者指针来调用。
所以下面这几种都是对的。
package main
import "fmt"
type User struct {
Name string
Age int
}
func (u *User) Say() {
fmt.Println(u.Name,u.Age)
}
func main() {
u:=User{
Name: "tom",
Age: 11,
}
u.Say()
}
package main
import "fmt"
type User struct {
Name string
Age int
}
func (u User) Say() {
fmt.Println(u.Name,u.Age)
}
func main() {
u:=&User{
Name: "tom",
Age: 11,
}
u.Say()
}