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()
}

posted @ 2021-11-29 09:54  读史  阅读(27)  评论(0编辑  收藏  举报