go语言append函数

append函数可以动态为go语言切片添加元素,每个切片会指向一个底层数组,这个数组能容纳一定数量的元素,当底层数组不能容纳新元素时,切片会自动扩容。此时的切片指向的底层数组就会更换。

package main
import "fmt"
func main(){
	city := []string{"北京","上海","广州"}
	fmt.Printf("%v,len:%d,cap:%d,ptr:%p \n",city,len(city),cap(city),city)

	city = append(city,"深圳")
	fmt.Printf("%v,len:%d,cap:%d,ptr:%p \n",city,len(city),cap(city),city)
}
//输出:此时地址是不一样的
[北京 上海 广州],len:3,cap:3,ptr:0xc000072180 
[北京 上海 广州 深圳],len:4,cap:6,ptr:0xc00005a180 

append删除切片中元素

package main
import "fmt"

func main(){
	city := [...]string{"北京","上海","广州"}
	city2 := city[:]
	fmt.Println("city:",city)

	city2 = append(city2[0:1],city2[2:]...)
	fmt.Println("city2",city2)
}
//输出
city: [北京 上海 广州]
city2: [北京 广州]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值