golang 定义一个空切片_golang 数组、切片和字典添加/删除

## 注意事项

### 数组定义长度后就固定了,没法删除和添加新元素

### 切片添加和删除

```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]

}

```

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值