我们可以为结构体定义方法,并调用方法实现更丰富的功能,
// 定义结构体方法
func (接收者变量 接收者类型) 函数名称(参数) 返回值类型 {
//.....
}
package main
import "fmt"
type Person struct {
Name string
Age int
}
// 定义结构体方法
func (p Person) Say() {
fmt.Println("Hello, I'm", p.Name)
}
// 定义结构体方法 [ 带有参数及返回值 ]
func (p Person) SayAge(agePlus int) int {
fmt.Println("Hello, I'm", p.Age+agePlus)
return p.Age + agePlus
}
func main() {
var p1 = Person{
"John",
30,
}
p1.Say()
p1.SayAge(10)
}