如果❤️我的文章有帮助,欢迎点赞、关注。这是对我继续技术创作最大的鼓励。更多往期文章在我的个人博客
虽然 Golang 中很少直接使用数组,但由于 切片 slice
是 数组 arrays
的一种动态实现,所以讲解切片 slice
之前,很有必要先搞清楚 数组 arrays
如何实现。
数组 arrays
就是一个 固定类型、固定长度
的序列。数组的语法如下:
var 变量名 [数组长度] 数组元素类型 // var a [2]int
数组中每个元素都能够通过 索引下标来访问
,索引下标从 0 开始 到 数组长度 - 1
,内置函数 len() 获得数组内元素个数(即:数组长度)。
数组初始化时每个元素的值默认为元素类型对应的零值
,也可以声明直接赋值
var b [3]int = [3]int{1, 2, 3}
如果出事化时不清楚数组长度,可以是用 ...
表示数组长度根据初始化时元素个数决定
c := […]int{1, 2, 3}
var a [3]int // 定义长度为 3 的整数数组
fmt.Println(a[0]) // 打印第一个元素、最后一个元素
fmt.Println(a[len(a)-1])
var b [3]int = [3]int{1, 2, 3} // 声明时直接赋值
c := [...]int{1, 2, 3} // 数组长度根据初始化时元素个数决定
// 比较两个数组是否相等
fmt.Println(a == b, a == c, b == c) // "false false true"
// 遍历输出索引和元素
for i, v := range a {
fmt.Printf("索引%d - 元素%d\n", i, v)
}