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