- 创建结构体
// 结构体
func main() {
type Point struct {
x int
y int
}
// 直接实例化赋值,有顺序
p1 := Point{1, 3}
log.Println(p1)
// 直接实例化赋值, 赋值无顺序
p2 := Point{
x: 1,
y: 3,
}
log.Println(p2)
// 先实例化,再赋值
var p3 Point
p3.x = 1
p3.y = 3
log.Println(p3)
}
- 结构体嵌套
// 结构体
func main() {
type Point struct {
x int
y int
}
type Circle struct {
Point // 圆心
Radius int // 半径
}
c := Circle{
Point: Point{2, 8},
Radius: 10,
}
log.Println(c.x) // 可以直接c.x获取
log.Println(c.Point.x) // 也可以通过c.Point.x获取
log.Println(c.Radius)
}