-
声明结构体
type 结构体名称 struct{ 属性名 属性类型 属性名1 属性类型 属性名2 属性类型 属性名3 属性类型 }
-
定义的方法和结构体进行绑定
// 声明结构体 type Profile struct{ name string age int } // 声明方法和结构体绑定 和普通函数有点区别 func(profile Profile) FmtProfile(){ fmt.Printf("name:%s ",profile.name) } // 将age+1操作 func(profile *Profile) increase_age(){ profile.age += 1 } // 主方法 func main(){ // 实例化 person := Profile{name:"小明",age:25} // 调用FmtProfile方法 person.FmtProfile() // 年龄+1 person.increase_age() }
-
结构体实现
继承
// 声明结构体 // 公司 type Company struct{ name string addr string } // 个人介绍 type Profile struct{ name string age int mother *Profile company Company // 实现`继承` } // 声明方法和结构体绑定 和普通函数有点区别 func(profile Profile) FmtProfile(){ fmt.Printf("名称为:%s ",profile.name) fmt.Printf("公司名称:%s ",profile.company.name) fmt.Printf("公司地址:%s ",profile.company.addr) } // 主方法 func main(){ // 实例化公司 company := Company{name:"趣味指数",addr:"北京市朝阳区"} // 实例化 person := Profile{name:"小明",age:25,company:company} // 调用FmtProfile方法 person.FmtProfile() }