知识点预览
1.切片的含义
2.切片的定义
3.切片的遍历
4.切片append
5.切片的copy
6.切片相关的注意事项
//1.切片是数组的引用
//2.切片传值是引用类型
//3.切片是动态可增长的数组
//4.切片底层实际是一个机构体包含指向数组的地址,len和cap
//1.定义方式1(在数组的基础上引用)
var arrslice = [5]int{11,22,33,44,55}
slice := [1:3] /*定义了一个切片,修改slice会改变arrslice,且切片的值是22,33;
其中[start:end]/[start:]/[:end]/[:]几种切片的表示方法*/
//2.切片的定义方式2(make)方法
slicearr := make{[]int,3,7}
/*这里隐藏了数组,只对外可见切片,make{[]类型,len,[cap]} */
//切片定义3(最简方式)
slicearr := []string{"jack","tome","abc"}
//遍历方式1:普通方式
for i:=0;i<len(slice);i++{
执行逻辑代码
}
//遍历方式2:for range方式遍历
for key,value := range slice{
执行内部循环逻辑代码
}
//1.切片追加普通变量
slicearr := []int{11,22,43}
slicearr := append(slicearr,55)
//2.切片追加切片
slicearr := []int{11,22,43}
slicearr := append(slicearr,slicearr...) //这里...是固定的用法只能是切片
slice1 := []{11,22,33}
slice2 := make([]int,10)
copy(slice2,slice1)
//切片相关的注意事项
//1.切片追加和copy只能是相同的数据类型
//2.切片copy只能是对切片进行copy
//3.切片可以再切片但是必须要有接收值
//4.切片实质是引用所以改变了引用的值原值也会变化
有疑问加站长微信联系(非本文作者)