声明&初始化
数组
数据是一个固定长度的数据类型,用户存储一段具有<<相同类型>>的元素的<<连续快>>。数据存储的类型可以使内置类型。整形 字符串 或某种机构类型
占用内存方式为<<连续分配>>。由于内存连续,CPU能把正在使用的数据缓存更久的时间。并且因为内存连续所以索引很容易计算,可以快速迭代数组中所有的元素。
初始化&声明
声明数组: 指定内部存储的数据类型、需要存储的数据数量(长度)、
//声明一个包含5个整形元素的数组
var array [5] int
数组规则:一旦声明之后元素类型&数组长度不能更改
声明完成之后进行初始化数组会把数组中的元素全部初始化成元素类型所对应的零值。整形对应的零值为0。
数组字面量
数组字面量是一种快速创建并初始化数组的方式。数组字面量允许声明数组里元素的数量的同时制定元素的值。
//创建一个包含5个整型元素的数组 并对数组进行初始化
array := [5]int {1,2,3,4,5}
//创建整型数组并初始化数组中元素的值 让Go自动识别数组长度
//...代表数组长度
array := [...]int {1,2,3,4,5,6,7,8,9,10}
//创建一个五个整型元素的数组
//初始化索引为1 和 3的元素
array := [5] int {1:10, 3:10}
使用
访问
访问单个元素使用运算符[]
array := [5] int {1,2,3,4,5}
//获取索引为2的值
array[2]
//修改索引为2的值
array[2] = 10
访问指针数组的元素
//声明一个指针数组
array := [5]* int {1,2,3,4,5}
//修改索引为1的元素
*array[1] = 10
同类型数组赋值
//声明一个包含五个整型元素的数组
arr1 := [5] int {1,2,3,4,5}
//声明一个包含五个整型元素的数组
arr2 := [5] int {}
//把arr1的值赋给arr2
arr2 = arr1
//赋值条件两个数组的长度和每个元素的类型必须都相同才能进行赋值。否则编辑器会报错