golang 数组、切片和字典添加/删除

Foto_cj · · 3947 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

## 注意事项 ### 数组定义长度后就固定了,没法删除和添加新元素 ### 切片添加和删除 ```go package main import ( "fmt" ) func main() { v1 := []int{1, 2} //len=2, cap=2 v1 = append(v1,6,7) //增加一个 v1 = append(v1,6,7,8) //增加多个 fmt.Println(v1,len(v1), cap(v1)) //[1 2 6 7 6 7 8] len=7,cap=8 cap按照初始化的cap倍数增加 //删除一个元素 v2 := []int{1, 2, 3 ,4 ,5, 6} fmt.Println(v2,len(v2), cap(v2)) //[1 2 3 4 5 6] len=6 cap=6 copyv := append(v2[:1],v2[3:]...) //得到删除后的切片 fmt.Println(copyv,len(copyv), cap(copyv)) //[1 4 5 6] len=4,cap=6 //原始切片底层数组会用最后几位(删除的几位)补齐 fmt.Println(v2,len(v2), cap(v2)) //[1 2 5 6 5 6] len=6 cap=6 //删除后的切片不是新切片,修改会响应源数组 copyv[0] = 100 fmt.Println(copyv) //[100 4 5 6] fmt.Println(v2) //[100 4 5 6 5 6] } ``` ### 字典的添加和删除 ```go package main import ( "fmt" ) func main() { smap := map[string]int{ "ssd" :23, "ge" : 45, } smap["gggg"] = 23 //添加或修改 fmt.Println(smap) //map[ge:45 gggg:23 ssd:23] delete(smap,"ssd") //删除一个key fmt.Println(smap) //map[ge:45 gggg:23] } ```

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3947 次点击  
加入收藏 微博
被以下专栏收入,发现更多相似内容
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传