数组是同一种数据类型元素的集合。在 Go 语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 基本语法:
数组定义
比如:var a [5]int
, 数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,长度不能变。[5]int
和 [10]int
是不同的类型。
数组可以通过下标进行访问,下标是从 0
开始,最后一个元素下标是:len-1
,访问越界(下标在合法范围之外),则触发访问越界,会 panic
。
数组的初始化
方法一
初始化数组时可以使用初始化列表来设置数组元素的值。
方法二
按照上面的方法每次都要确保提供的初始值和数组长度一致,一般情况下我们可以让编译器根据初始值的个数自行推断数组的长度,例如:
方法三
我们还可以使用指定索引值的方式来初始化数组,例如:
数组的遍历
遍历数组 a
有以下两种方法:
多维数组
Go 语言是支持多维数组的,我们这里以二维数组为例(数组中又嵌套数组)。
二维数组的定义
二维数组的遍历
注意: 多维数组只有第一层可以使用...来让编译器推导数组长度。例如:
数组是值类型
数组是值类型,赋值和传参会复制整个数组。因此改变副本的值,不会改变本身的值。
注意:
- 数组支持
==
、!=
操作符,因为内存总是被初始化过的。 [n]*T
表示指针数组,*[n]T表示数组指针 。
练习
1、求数组 [1, 3, 5, 7, 8]
所有元素的和。
2、找出数组中和为指定值的两个元素的下标,比如从数组 [1, 3, 5, 7, 8]
中找出和为 8
的两个元素的下标分别为 (0,3)
和 (1,2)
。
转自:
评论区