📅  最后修改于: 2023-12-03 15:15:21.443000             🧑  作者: Mango
在 Go 语言中,数组是一种固定长度且相同类型的数据结构。数组的长度是其类型的一部分,这意味着不能将一个长度为 5 的整型数组赋值给一个长度为 6 的整型数组。
在 Go 中,可以使用以下方式声明一个数组:
var a [5]int // 定义一个长度为 5 的整数数组,初始值全为 0
var b = [5]int{1, 2} // 定义一个长度为 5 的整数数组,前两个元素为 1 和 2,其他元素为 0
var c = [...]int{1, 2} // 定义一个长度未知的整数数组,前两个元素为 1 和 2
可以使用索引访问数组中的元素:
a := [5]int{1, 2, 3, 4, 5}
fmt.Println(a[0]) // 输出:1
fmt.Println(a[2]) // 输出:3
可以直接使用索引修改数组元素的值:
a := [5]int{1, 2, 3, 4, 5}
a[1] = 10
fmt.Println(a) // 输出:[1 10 3 4 5]
由于数组长度是其类型的一部分,因此不能将一个长度为 5 的整型数组赋值给一个长度为 6 的整型数组:
a := [5]int{1, 2, 3, 4, 5}
var b [6]int
b = a // 编译错误:cannot use a (type [5]int) as type [6]int in assignment
Go 数组是一种方便和高效的数据结构。数组的长度是其类型的一部分,这意味着不能将长度不同的数组赋值给一个变量。需要注意的是,在大多数情况下,切片是更好的选择,因为它不仅长度可变,还具有更多的功能。