亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

容量何時與數組末尾不同 - 切片開頭?

容量何時與數組末尾不同 - 切片開頭?

Go
MMMHUHU 2022-06-21 15:50:26
在Go Programming Language一書中,作者陳述了以下內容(在第 4.2 節關于切片):[切片的]長度是切片元素的數量;它不能超過容量,通常是切片開頭和底層數組結尾之間的元素數。問題由于作者選擇使用“通?!边@個詞,這意味著實際上存在切片的容量與切片開頭和底層數組結尾之間的元素數量不同的情況——什么時候會這樣?換句話說,下面的表達式什么時候是true:cap(mySlice) != len(underlyingArray) - startIndexOfSlice我能想到的唯一情況是切片是nil,在這種情況下將沒有底層數組。
查看完整描述

1 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

完整的切片表達式可以將容量設置為低于完整的底層數組。


x := make([]string, 20)

y := x[0:10:10]


fmt.Println("x:", len(x), cap(x)) // prints x: 20 20

fmt.Println("y:", len(y), cap(y)) // prints y: 10 10

切片x和y共享相同的底層數組,但 的容量y小于 的容量x。


查看完整回答
反對 回復 2022-06-21
  • 1 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號