array
简介
数组的数据结构可以抽象为两个变量:
一个不可变的指针(const ptr *type)
长度(len)
声明语义
go语言的数组声明后即可使用,且数组变量没有零值:
初始化方法
显示初始化
默认初始化
使用其他数组初始化
注意,以上的代码,arr1和arr2是两个完全不同的数组,即修改arr1不会影响arr2,反之亦然。
遍历
len()
函数可以得到数组的长度,也可以用for ... range ...
来遍历数组
赋值
由于数组是内置类型,所以赋值操作与参数传递的语义是由go语言预定义好的。
当把一个数组赋值给另一个数组时,由于数组中的指针变量(ptr)不能修改,所以实际的效果是,把另一个数组的元素拷贝到左边数组中,这也要求数组赋值时,两个数组的len要一样大。
看如下代码:
输出:
Last updated
Was this helpful?