package mainimport "fmt"func main() { //[元素长度]元素类型{元素1,元素2} a := [3]int{0,1,2} fmt.Println(a) //不固定长度数组 b := [...]int{2,3,12,31,23,12,3,12,3,12,312,3,214,21,412,4,434} fmt.Println(b) //另外一种定义数组的方式,将数组第五值改为23,其他值默认是0 var d = new([10]int) d[5] = 23 fmt.Println(d) zoom := [...]string{"狗","大象","猴子","长颈鹿"} //循环数组 for i:=0;i<len(zoom);i++{ fmt.Println(zoom[i]+".跑") } //range 循环数组 for i,v:= range zoom{ fmt.Println(i,v) } fmt.Println(len(zoom)) fmt.Println(cap(zoom)) //二维数组 er := [3][4]int{ {0,1,3,4}, {5,6,7,8}, {9,10,11,12}, } fmt.Println(er) //切片 aaa := [3]int{1,2,3} //取 c1 := aaa[2:] fmt.Println(c1) // c2 := aaa[0:2] fmt.Println(c2) c3 := aaa[:2] fmt.Println(c3) //切片有append方法,数组没有 c4 := aaa[:] c5 := append(c4, 4) fmt.Println(c5) //copy 将一个数组切片复制到另一个数组切片中,如果加入的两个数组切片不一样大,就会按照其中较小的那个数组切片的元素个数进行复制 slice1:=[]int{1,2,3,4,5} slice2:=[]int{5,4,3} copy(slice1,slice2) // 只会复制slice2的3个元素到slice1的前3个位置 fmt.Println("copy...",slice1) copy(slice2,slice1)// 只会复制slice1的前3个元素到slice2中 fmt.Println("copy...",slice2) //创建切片 //方法1 无默认值 var aa []int //方法2 有默认值 bb := make([]int,4) fmt.Println(aa,bb)}