溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

cap在golang中的應用

發布時間:2020-06-21 13:49:19 來源:億速云 閱讀:593 作者:元一 欄目:編程語言

cap()可以用來查看數組或slice的容量

在數組中由于長度固定不可變,因此len(arr)和cap(arr)的輸出永遠相同

做法

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是什么意思的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女