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

為了賬號安全,請及時綁定郵箱和手機立即綁定

第一個cap(slice5) 為啥是4

slice5不是[5,6]嗎 ?那5在原數組里的索引就是4,然后數組長度是10 ?差值絕對值不就是6嗎??

正在回答

3 回答

1、如果單純的寫slice5 := numbers4[4:6],切片slice5的底層數組是numbers4 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

那么cap就是:底層數組長度10 - 初始索引4 = 6 沒錯,取到的對應底層數組的索引值是 4 5,分別對應的值是: 5 6?

但是切片操作符加上了第三個值slice5 := numbers4[4:6:8],代表的意思是:新切片容量索引值最大到8,但是取不到8,也就是說:現在取到的對應底層數組索引值為4 5 6 7,分別對應的值是:5 6 7 8

1 回復 有任何疑惑可以回復我~

上限是8即最大擴展上限到下標8,下標8的9為上限不取,實際值為5,6,cap后擴展就是5,6,7,8

1 回復 有任何疑惑可以回復我~

slice5 := numbers4[4:6:8]

這個切片有三個參數,第三個參數

這第三個正整數被稱為容量上界索引。它的意義在于可以把作為結果的切片值的容量設置得更小。換句話說,它可以限制我們通過這個切片值對其底層數組中的更多元素的訪問。

仔細理解下左邊的說明.

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

第一個cap(slice5) 為啥是4

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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