环球快资讯:Go语言里切片slice的用法介绍
1.切片是基于数组做的一层封装,灵活能够自动扩容。
2.切片的初始化方法
①直接创建
(资料图片仅供参考)
②基于已有的数组或切片
③使用make来创建一个切片
第一个5是切片的大小
第二个5是切片的容量
3.基本操作
①获取元素
②增加元素append
当达到底层的最大容量,切片会进行扩容,扩容的策略是翻倍扩容。
下图说明扩容之后,地址也变化了。
4.切片的修改
和数组(值传递)不一样,切片相当于是一个引用传递。
5.如果计算切片的容量?
例如:b切片的长度和容量是多少?
答案: 长度为2 容量为7
详细可以参考下面图,a、b共用底层切片,但是b是从1开始的,长度为3-1 =2,容量为a其他的底层
6.切片后面追加切片
func AppendSlice(){ slice1 := []int{1,2,3} slice2 := []int{3,3,6} slice1 = append(slice1,slice2... ) for _, value := range slice1 { fmt.Println("value的地址",value) } }
注意一下 append(slice1,slice2... ) 这个...定义就是把slice2展开,放到slice1后面。
到此这篇关于Go语言切片slice的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
X 关闭
X 关闭
- 1转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 2充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 3好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 4名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 5亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战
- 6京东绿色建材线上平台上线 新增用户70%来自下沉市场
- 7网红淘品牌“七格格”chuu在北京又开一家店 潮人新宠chuu能红多久
- 8市场竞争加剧,有车企因经营不善出现破产、退网、退市
- 9北京市市场监管局为企业纾困减负保护经济韧性
- 10市场监管总局发布限制商品过度包装标准和第1号修改单