02 切片slice 切片的定义 var array = [...]int {1 , 2 , 3 , 5 }fmt.Println(array) var name1 []int fmt.Printf("%T-长度:%v\n" , name1, len (name1)) var name2 = []string {"zhangsan" , "lisi" , "wangwu" }fmt.Printf("%T-长度:%v\n" , name2, len (name2)) var name3 = []string {1 : "zhangsan" , 2 : "lisi" , 5 : "wangwu" }fmt.Printf("%T-%v-长度:%v\n" , name3, name3, len (name3))
切片定义是若没初始化,则默认为nil
循环遍历 var strSlice = []string {"php" , "python" , "java" , "golang" } for i := 0 ; i < len (strSlice); i++ { fmt.Printf("%v " , strSlice[i]) } fmt.Println() for _, v := range strSlice { fmt.Printf("%v " , v) } fmt.Println()
基于数组定义切片 arr1 := [5 ]int {55 , 65 , 57 , 58 , 59 } arr2 := arr1[:] fmt.Printf("%v---%T\n" , arr2, arr2) c := arr1[2 :4 ] fmt.Printf("%v---%T\n" , c, c)
切片的长度和容量 容量是指从他的第一个元素开始,到其底层数组元素末尾的个数
fmt.Printf("arr2长度:%v---容量:%v\n" , len (arr2), cap (arr2)) fmt.Printf("arr2[1:3]长度:%v---容量:%v\n" , len (arr2[1 :3 ]), cap (arr2[1 :3 ]))
添加数据append arr2 = append (arr2, 58 ) fmt.Printf("%v---%T\n" , arr2, arr2)