package main
import"fmt"type Person struct {
name string
age int
address Address
}
type Address struct {
city, state string
}
funcmain() {
/*
结构体嵌套
- 功能:能够实现复杂对象的定义
*/
person := Person{}
person.name = "张三"
person.age = 19
person.address = Address{"北京", "昌平"}
fmt.Println(person)
fmt.Println(person.name)
fmt.Println(person.age)
fmt.Println(person.address.city)
fmt.Println(person.address.state)
}
结构体导出
结构体 导出 : 导包
- 结构体名称
- 小写 : 不能被导出 type user struct{}
- 大写 : 能被导出 type User struct{}
- 结构体内部的属性
- 小写: 不能被导出
type user struct{
name string// 不能被导出使用该属性
}
- 大写: 能被导出
type user struct{
Name string// 能被导出使用该属性
}
- 总结:(抄的)
- 结构体大写字母能够导出。如果结构体名称首字母大写,则结构体可被导出,
- 结构体小写不能导出。 如果结构体名称首字母小写,则结构体不会被导出。