📌  相关文章
📜  go arrays - Go 编程语言(1)

📅  最后修改于: 2023-12-03 15:15:21.136000             🧑  作者: Mango

Go Arrays

Go语言支持数组类型,数组是一种固定长度、有序且元素类型相同的数据结构。本文将介绍Go语言中数组的基本使用方法。

定义数组

定义一个数组需要指定元素的数据类型和长度。例如,定义一个长度为5的int型数组:

var arr [5]int

这里使用var关键字声明变量,数组名为arr,类型为[5]int,也就是长度为5的int数组。

定义一个长度为3的字符串数组:

var names [3]string

数组的所有元素都被初始化为其元素类型的零值(例如,长度为5的int数组的所有元素都被初始化为0)。也可以将数组元素初始化为指定的值:

var arr [3]int = [3]int{1, 2, 3}

同样也可以使用短变量声明方式来创建数组:

arr := [3]int{1, 2, 3}

如果在初始化数组时省略数组长度,则编译器会计算数组长度:

arr := [...]int{1, 2, 3}
访问数组元素

数组的元素可以通过下标访问,下标从0开始,最大下标值为数组长度减1。例如,要访问一个长度为3的数组的第一个元素,可以使用下面的语句:

x := arr[0]

也可以通过下标的方式修改数组元素的值:

arr[0] = 100
数组长度和元素个数

数组的长度是数组类型的一部分,因此长度不能改变。如果需要增加或减少元素,需要创建一个新的数组或使用切片(slice)。

同样也可以使用内置的len函数来获取数组的长度:

size := len(arr)

需要注意的是,len函数返回的是数组的长度,而不是元素个数。对于数组来说,它们是相同的。但在使用切片时,它们的含义是不同的。

多维数组

同时,Go语言还支持多维数组。例如,声明一个3行4列的二维数组:

var arr [3][4]int

同样也可以使用初始化的方式来创建多维数组:

arr := [3][4]int{
    {0, 1, 2, 3},
    {4, 5, 6, 7},
    {8, 9, 10, 11},
}

访问多维数组的元素需要使用多个下标:

x := arr[2][3] // 获取第三行第四列的元素
总结

Go语言中的数组是一个固定长度、有序且元素类型相同的数据结构。数组的长度是数组类型的一部分,不能改变。数组的元素可以通过下标访问和修改。同时,Go语言还支持多维数组。