課程
/后端開發
/Go
/Go語言第一課
slice5不是[5,6]嗎 ?那5在原數組里的索引就是4,然后數組長度是10 ?差值絕對值不就是6嗎??
2020-09-19
源自:Go語言第一課 5-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
上限是8即最大擴展上限到下標8,下標8的9為上限不取,實際值為5,6,cap后擴展就是5,6,7,8
slice5 := numbers4[4:6:8]
這個切片有三個參數,第三個參數
這第三個正整數被稱為容量上界索引。它的意義在于可以把作為結果的切片值的容量設置得更小。換句話說,它可以限制我們通過這個切片值對其底層數組中的更多元素的訪問。
仔細理解下左邊的說明.
舉報
Go語言入門教程,編程之必備知識擴散,打好Go語言編程基礎
1 回答slice5的容量為什么是4而不是8?
1 回答為什么同時append3個值后,cap會變成6呢? len = 5,cap = 6,slice = [0 1 2 3 4]
5 回答這個題里面的 len() 和 cap() 的區別是?
1 回答cap內建函數
2 回答第二個 func 里面的()為啥不用把 i 傳進去呢
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2020-12-20
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
2020-11-24
上限是8即最大擴展上限到下標8,下標8的9為上限不取,實際值為5,6,cap后擴展就是5,6,7,8
2020-10-29
slice5 := numbers4[4:6:8]
這個切片有三個參數,第三個參數
這第三個正整數被稱為容量上界索引。它的意義在于可以把作為結果的切片值的容量設置得更小。換句話說,它可以限制我們通過這個切片值對其底層數組中的更多元素的訪問。
仔細理解下左邊的說明.