先看下面的一段**:
package main
import
"fmt"
func
main()
myslice := numbers4[3:
6:8]
fmt.
printf
("myslice為 %d, 其容量為: %d\n"
, myslice,
cap(myslice)
) myslice2 = myslice[
:cap
(myslice)
] fmt.
printf
("myslice: %d"
, myslice2)
fmt.
printf
("myslice的第四個元素為: %d"
, myslice2[3]
)}
輸出如下:
myslice為 [4 5 6], 其容量為: 5
myslice: [4 5 6 7 8]myslice的第四個元素為: 7
從上面看myslice它的長度是3即(6 -3), 容量是5即(8-3),所以myslice的實際引用的陣列為[4,5,6,7,8],故myslice2是[4,5,6,7,8]。
若myslice中只有乙個冒號,即 myslice := numbers4[3:6] ,則myslice它的長度是3即(6 -3), 容量是7(10 -3),即實際引用的陣列為[4,5,6,7,8,9,10]。
所以,當slice中有兩個冒號時,即slice[start:index:max],它的容量就是(max - start),實際引用的陣列時從陣列start索引開始到max索引為止,但不包括max索引處的元素。
正確理解「切片」中的問題
日常python小筆記 比如有序列如下 numbers 1,2,3,4,5,6,7,8,9,10 切片訪問指定範圍內的元素 如 numbers 7 10 注意 1 在實際理解中,後面這個數字需減一才能得到正確結果 除過加上步長引數且引數為負數 2 前面數字所指定的元素必須在後面指定的前面 除過加上步...
乙個冒號和兩個冒號的區別
雙冒號是在css3規範中引入的,用於區分偽類和偽元素乙個冒號 偽類以下是w3c上列出的偽類 w3c w3c 列指示出該屬性在哪個 css 版本中定義 css1 還是 css2 屬性描述 css active 向被啟用的元素新增樣式。1 focus 向擁有鍵盤輸入焦點的元素新增樣式。2 hover 當...
C 中兩個冒號( )的作用
global system.console.writeline number 冒號在什麼地方用.點是空間下類,表示下一層的意思?這裡面 前面是gac的標示符global,用法比較特殊,和.不是乙個型別的東西。global 是 c 2.0 中新增的關鍵字,理論上說,如果 寫得好的話,根本不需要用到它。...