Go语言结构体与自定义类型的深入解析
1. Go语言结构体基础
在Go语言中,最简单的自定义类型可基于内置类型创建,例如 type Integer int 就创建了一个自定义的 Integer 类型,我们还能为其添加自己的方法。此外,自定义类型也能基于结构体,结构体可用于聚合和嵌入值,当这些值(在结构体语境中称为字段)类型不同时,结构体就非常有用,因为它们无法存储在切片中(除非使用 []interface{} )。Go语言的结构体更接近C语言的结构体,而非C++的结构体(例如,它们不是类),并且由于对嵌入的出色支持,使用起来更加方便。
1.1 结构体的简单示例
下面通过一个简单的示例来展示结构体的使用:
points := [][2]int{
{4, 6}, {}, {-7, 11}, {15, 17}, {14, -8}}
for _, point := range points {
fmt.Printf("(%d, %d) ", point[0], point[1])
}
在这个示例中, points 变量是一个 [2]int 类型数组的切片,我们必须使用 [] 索引运算符来获取每个坐标。不过,使用匿名结构体可以更优雅地实现相同的功能:
points := []struct{ x, y
超级会员免费看
订阅专栏 解锁全文
4万+

被折叠的 条评论
为什么被折叠?



