Erlo

golang 切片的append操作

时间:2021-05-15   阅读:66次   来源:jQuery中文网
页面报错
点赞

append操作可以往切片的末尾插入一个元素,类似于PHP的 arr[] = $xx 的功能

但是与PHP不同的是,切片有一个len还有一个cap,PHP中则只有一个len

在golang中,len是<= cap的,可以理解为len是数组当前的元素个数,cap是当前数组长度

在执行append时,如果len=cap,则会自动扩充数组长度,扩充后的数组长度会变为cap*2,也就是每次扩充都长度翻倍。
测试代码:
package main

import (
“fmt”
)
func printSlice(x []string){
fmt.Printf(“len=%d cap=%d”,len(x),cap(x))
}
func main() {
strArr := [] string {“test1n”, “test2n”, “test3”}
printSlice(strArr)
strArr = append(strArr, “test44”)
printSlice(strArr)
strArr = append(strArr, “test55”)
printSlice(strArr)
strArr = append(strArr, “test66”)
printSlice(strArr)
strArr = append(strArr, “test77”)
printSlice(strArr)
}
运行结果:

之前一直用PHP,现在业务需要要转go,初学go,写这个给自己记录一下,如有不正确的欢迎各路大神指点,感谢~

评论留言

还没有评论留言,赶紧来抢楼吧~~

吐槽小黑屋()

* 这里是“吐槽小黑屋”,所有人可看,只保留当天信息。

  • Erlo吐槽

    Erlo.vip2021-09-24 23:01:22Hello、欢迎使用吐槽小黑屋,这就是个吐槽的地方。
  • 返回顶部

    给这篇文章打个标签吧~

    棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认