Go語言 之切片截取


package main

import (
    "fmt"
)

//s[low:high:max]
//第一個數(low)表示下標的起點(從該位置開始截取),如果low取值為0表示從第一個元素開始截取,也就是對應的切片s中的10
//第二個數(high)表示取到哪結束,也就是下標的終點(不包含該位置),根據公式計算(len=high-low),也就是第二個數減去第一個數,差就是數據長度。在這里可以將長度理解成取出的數據的個數。
//第三個數用來計算容量,所謂容量:是指切片目前可容納的最多元素個數。通過公式計算(cap=max-low),也就是第三個數據減去第一個數。

func main() {
    slice := []string{"a", "b", "c", "d", "e"}
    fmt.Println(slice[0:4:5]) //[a b c d]
}

 

操作

含義

s[n]

切片s中索引位置為n的項

s[:]

從切片s的索引位置0len(s)-1處所獲得的切片

s[low:]

從切片s的索引位置lowlen(s)-1處所獲得的切片

s[:high]

從切片s的索引位置0high處所獲得的切片,len=high

s[low:high]

從切片s的索引位置lowhigh處所獲得的切片,len=high-low

s[low : high : max]

從切片s的索引位置lowhigh處所獲得的切片,len=high-lowcap=max-low

len(s)

切片s的長度,總是<=cap(s)

cap(s)

切片s的容量,總是>=len(s)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM