原则
1.数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,长度不能变 eg. [5]int和[10]int是不同的类型。
2. 多维数组只有第一层可以使用 ...
3.数组是值类型 当赋值或者传递参数 是拷贝一份副本 ,对副本进行操作的时候 不会影响原有数组
4.注意
- 数组支持 “==“、”!=” 操作符,因为内存总是被初始化过的。
[n]*T表示指针数组,*[n]T表示数组指针 。
//数组
func arr() {
//定义一个有类型的数组
var a [13] int //var 变量名 [长度] 数组里的类型
fmt.Println(a) //[0 0 0 0 0 0 0 0 0 0 0 0 0]
//定义数组的其他方式
var numArray = [3]int {1, 2} //前两个索引进行赋值
fmt.Println(numArray) //[1 2 0]
//如何给某个索引进行初始化
var indexArray= [6] int{3:7,4:8}
fmt.Println(indexArray)
//数组的遍历两种方式
for i:=0 ;i<len(indexArray);i++{
fmt.Println(indexArray[i])
}
for ind,val :=range indexArray{
fmt.Println(ind,val)
}
//多维数组
a3:=[3][2] string{
{"北京","上海"},
{"杭州","盛政"},
{"百度","京东"},
}// a[外层长度][里层长度]
fmt.Println(a3)
var x4[6] int
x4=indexArray //将indexArray的值赋值给X4
x4[0]=1 //修改第一个索引
fmt.Println(x4)//[1 0 0 7 8 0] 副本发生变化
fmt.Println(indexArray) //[0 0 0 7 8 0] 原有不变
}
浙公网安备 33010602011771号