数组
- 数组的三种声明方式
- var arr [3]int
- var arr2 = [4]int{1,2,3,4}
- arr3 := [...]int{1,2,3} // 在编译时自动推断长度
- 数组是内存中一片连续的区域,需要在初始化时被指定长度,数组的大小取决于数组中存放元素的大小。
- 数组的长度可以通过内置len函数获取,数组中的元素可以通过下标获取。只能访问数组中已有元素,访问越界会在编译时报错。
- g语言中的数组在赋值和函数调用时的形参都是值复制,所以尽量不要进行大数组的复制。
- 常量的下标级某些变量的下标的访问越界问题可以在编译时被检测到,但是变量下标的数组越界问题只会在运行时报错。
- 在编译时,会对数组进行重要优化,当数组的长度小于4时,在运行时会选择在栈中初始化数组,当数组长度大于4时,程序会在启动时在静态区初始化数组。