「这是我参与2022首次更文挑战的第14天,活动详情查看:2022首次更文挑战」。
0 环境
- 系统环境:win10
- 编辑器:vscode
- go版本:gol.17.3
1 slice
一些实用简写,
array[:3]==> 相当于array[0:3),array[2:]==>array[3:len(array)),array[:]==>array[0:len(array))
1 切片修改
可以看出:利用slice切片不是所理解的那种,直接拷贝出来一个新的数组,然后不影响原数组,切片它不是,它是会影响的。打个比方:我们以为网上买的衣服,是商家先到厂家进的货,然后把这些货存放到他自己的仓库,你网上选什么样式的款式,直接从他的仓库那里发过来。然而不是这样,你点击买下这件衣服,然后他直接联系厂家,厂家打包好,直接写好地址,发货给你。仔细一想,为啥厂家不一家独大,反而让这些中间商赚大钱,后来想到那些APP搞推荐有奖啥的,拿回扣,也就释然了,么有这帮人在利益的驱使下,做的更到位,帮你衣服款式做推广啥的,不然你工厂还要掏钱出去,找人做广告,做推广,而现在在这个模式下,你不用出广告费,也不用花费很多资源去盯着,钱就送上门了,而且不费力,大家共赢,方便,挺好不是。想想之前的数组,我想要[2:5]的数据,是不是很麻烦,而我有了切片,直接给个范围,立马得到我想要的,是不是很方便,这也能说明切片作为引用类型,存在的好处。
2 声明切片
cap()查看容量,make(数组类型,len,cap),当没有指定容器,默认是len长度。
3 追加元素(append 函数)
由下面可知:当我们使用了
append函数,它可以追加元素,可添加单个或多个元素(其他切片),返回新的切片。注意哦,当我们第二个参数是切片的话,别忘了追加...。for range和之前类似。
2 总结
切片是引用类型,基于数组而超于数组,并且有很多简写方式,声明切片,
make(xxx,len,cap),若第三个参数没有写,默认容量就等于长度,append函数可以添加单个或多个元素(第二个参数是切片...),返回新的切片。