let slice = fib[1..<fibs.endIndex]
slice //[1,2,3,5]
type(of:slice) //ArraySlice<Int>
切片數(shù)組是數(shù)組的一種表示方式,它背后的數(shù)據(jù)仍是原來的數(shù)組,只不過使用切片的方式來進(jìn)行表示;這意味著原來的數(shù)組并不需要被復(fù)制。
ArraySlice具有的方法和Array上定義的方法是一致的,因此可以把切片當(dāng)作數(shù)據(jù)來進(jìn)行處理。
如果需要將切片轉(zhuǎn)換為數(shù)組,則可以通過將切片傳遞給Array的構(gòu)建方法來完成:
Array(fibs[1..<fibs.endIndex]) //[1,1,2,3,5]
出自swift進(jìn)階.png