Go 语言数组的声明

Go 语言数组的声明

Posted by 锐玩道 on May 21, 2021

如果❤️我的文章有帮助,欢迎点赞、关注。这是对我继续技术创作最大的鼓励。更多往期文章在我的个人博客

虽然 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)
}