注意:数组是一个同类型元素的集合,可以通过下表修改数组中值,但是一旦申明了,数组的长度是固定的,不可改变或者追加。
数组定义
var arr [3]int
var arr1 = [3]string{}
list := [5]int{}
复制代码
数组声明
var arr = [3]int{1,2,3}
list := [3]string{"杭州","苏州","西安"}
//修改数组的值
list[1] = "上海"
//使用长度推断
var arr = [...]int{1,2,3}
list := [...]string{"陕西","浙江"}
//指定索引来初始化数组
var list = [...]int{0:3,3:4}
复制代码
二维数组
var list = [2][2]string{
{"陕西","西安"},
{"浙江","杭州"},
}
//多维数组只有第一层可以使用...来让编译器推导数组长度。例如:
var list = [...][2]string{
{"陕西","西安"},
{"浙江","杭州"},
}
//支持索引取值
fmt.Println(list[1][0])
复制代码
数组的遍历
var list = [3]int{1,2,3}
for _,v := range list{
fmt.Println(v)
}
//二维数组的遍历
var arr = [2][2]string{
{"a","b"},
{"c","d"},
}
for _,v1 := range arr{
for _,v2 := range v1{
fmt.Println(v2)
}
}
复制代码
如果数数组作为值类型的话 无法直接修改原数组,修改的只是数组的副本,如果需要修改原数组,需传递指针
func main(){
list := [2]int{1,2}
wen(&list)
fmt.Println(list)
}
func wen(list *[2]int){
list[0] = 100
}
复制代码