【go】切片截取总结

文章目录

1.获取切片的第i个元素

go 复制代码
func main() {
	s := []int{1, 2, 3, 4, 5}
	fmt.Println("第一个元素为:", s[0])
	fmt.Println("最后一个元素为:", s[len(s)-1])
	fmt.Println("倒数第二个元素为:", s[len(s)-2])
}

2.获取切片的第i个至第j个元素

go 复制代码
func main() {
	s := []int{1, 2, 3, 4, 5}
	fmt.Println("从索引2到最后的全部元素:", s[2:])
	// 3 4 5
	fmt.Println("从索引0到索引2的全部元素:", s[:2])
	// 0 1 2
	fmt.Println("从索引2到索引4的全部元素:", s[2:3:3])
	// 3 4
}

3.各种切片截取操作

操作 含义
sn 切片s中索引位置为n的项
s: 从切片s的索引位置0到len(s)-1处所获得的切片
slow: 从切片s的索引位置low到len(s)-1处所获得的切片
s:high 从切片s的索引位置0到high处所获得的切片,len=high
slow:high 从切片s的索引位置low到high处所获得的切片,len=high-low
slow :high : max 从切片s的索引位置low到high处所获得的切片,len=high-low,cap=max-low
len(s) 切片s的长度,总是<=cap(s)
cap(s) 切片s的容量,总是>=len(s)
相关推荐
孙启超1 分钟前
【AI开发之Rust】第 13 课:async/await 与 tokio 异步运行时
开发语言·后端·rust
Am-Chestnuts12 分钟前
DeepSeek内容转Word有哪几种方法?用DS随心转对比6条主流路径
开发语言·人工智能
SimonKing12 分钟前
SpringBoot 集成 SSE 实现服务端推送或可代替Websocket
java·后端·程序员
字节探索12 分钟前
Redis 只会当缓存用?这 10 大实战场景,让你的系统快到飞起
redis·后端
大黄说说13 分钟前
App 启动速度优化:冷启动从 3s 降到 800ms 完整实操
开发语言
Lazionr27 分钟前
多态:从多种形态到运行时绑定
开发语言·c++
Sam_Deep_Thinking31 分钟前
关于java final关键字的可见性
java·后端·面试·程序员
Thneonl38 分钟前
你的 Pod 为什么 Pending:调度器两阶段
后端·kubernetes
大黄说说43 分钟前
iOS 列表滑动卡顿:UITableView / UICollectionView 深度优化实战
开发语言
于樱花森上飞舞1 小时前
【Redis】哨兵详解
java·开发语言·数据库·redis