数组定义:var arr [n]type
n表示数组长度,type表示数组存放的类型,数组的长度是不能改变的。
1、先定义,后赋值
var arr [10]int
定义一个int类型的,长度是10的数组
arr[0] = 1
arr[1] = 10
上面是对数组的某一位进行赋值
2、定义赋值一起
arr :=[3]int{1,2,3}
arr2 :=[...]int{1,2,3}
arr2中的数组长度使用...,go语言会自动根据元素长度计算
3、多维数组
arrays :=[2][3]int{[3]int{1,2,3},[3]int{4,5,6}}
由于数组不能改变长度,如果我们在不知道长度的情况如何定义数组呢?我们需要动态数组,go里面叫做slice。
slice定义:var fslice []type
slice不需要写长度,除了长度外和数组定义是一样的。
1、定义时初始化
fslice := []int {1,2,3}
2、使用数组中的元素初始化
arr :=[10]int {1,2,3,4,5,6,7,8,9,10}
var fslice []int
fslice = arr[2:5]
fslice就获取到3,4,5。上面的2:5是数组索引2到索引4。
fslice = arr[:]
不写起始和终止的索引就代表是0到最长大小,也就是arr[0:10]
3、使用slice中的元素初始化
gslice = fslice[0:2]
4、append添加元素,返回一个添加完成后的slice
fslice := []int{1,2,3}
gslice := append(fslice,4)
fmt.Println(gslice)
fmt.Println(fslice)