package main
import "fmt"
//定义结构体
type Profile struct{
name string
age int
gender string
mother *Profile
father *Profile
}
//定义结构体方法,以值做为方法接收者,无法改变实例属性
//当方法的首字母为大写时,这个方法对于所有包都是Public,其他包可以随意调用
//当方法的首字母为小写时,这个方法是Private,其他包是无法访问的。
//结构体嵌套,实现“继承”...
func (person Profile)FmtProfile1(){
fmt.Println(person.name)
fmt.Println(person.age)
fmt.Println(person.gender)
person.name = "Bob"
}
//定义结构体方法,以指针做为方法接收者,可以改变实例属性
func (person *Profile)FmtProfile2(){
fmt.Println(person.name)
fmt.Println(person.age)
fmt.Println(person.gender)
person.name = "Bob"
}
func main(){
v1 := Profile{name:"Jack", age:8, gender:"male"}
v1.FmtProfile1()
fmt.Println(v1.name)
v2 := Profile{name:"Jack", age:8, gender:"male"}
v2.FmtProfile2()
fmt.Println(v2.name)
}
GO-结构体
最新推荐文章于 2024-07-25 08:55:42 发布