hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 文章 - 后端开发 - 正文 看Cosplay古风插画小姐姐,合集图集打包下载:炫龙网 · 炫龙图库

golang cap是什么意义_后端开发

2019-12-04后端开发ki4网31°c
A+ A-

cap重要是为了让slice供应可变长度。

试想,假如没有cap,只要len。 (引荐进修:go)

sliceA长度为10,len=10,已插满元素;现在要插进去第十一个元素。

做法

sliceA的长度扩大为20,len=20,此时有效元素为11个,另有9个空位。

sliceA对外界暴露出来的接口只要ptr和len=20,此时假如须要再插进去一个元素。

究竟sliceA应当扩大呢照样能够继承在本来的基本直接插进去呢,同时应当从哪一个index插进去呢?

这些问题在有了len和cap的组合以后就能够水到渠成了。

cap()能够用来检察数组或slice的容量

在数组中因为长度牢固不可变,因而len(arr)和cap(arr)的输出永久雷同

在slice中,len(sli)示意可见元素有几个(也即直接打印元素看到的元素个数),而cap(sli)示意一切元素有几个,比方:

arr := []int{2, 3, 5, 7, 11, 13}
sli := arr[1:4]
fmt.Println(sli)
fmt.Println(len(sli))
fmt.Println(cap(sli))

cap()函数返回的是数组切片分派的空间大小。

package main 
 
import "fmt" 
 
func main() { 
    mySlice := make([]int, 5, 10)  
 
    fmt.Println("len(mySlice):", len(mySlice)) 
    fmt.Println("cap(mySlice):", cap(mySlice)) 
}

该顺序的输出效果为:

len(mySlice): 5
cap(mySlice): 10

以上就是golang cap是什么意义的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
golang cap是什么意义_后端开发

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>