【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.各种切片截取操作

操作 含义
s[n] 切片s中索引位置为n的项
s[:] 从切片s的索引位置0到len(s)-1处所获得的切片
s[low:] 从切片s的索引位置low到len(s)-1处所获得的切片
s[:high] 从切片s的索引位置0到high处所获得的切片,len=high
s[low:high] 从切片s的索引位置low到high处所获得的切片,len=high-low
s[low :high : max] 从切片s的索引位置low到high处所获得的切片,len=high-low,cap=max-low
len(s) 切片s的长度,总是<=cap(s)
cap(s) 切片s的容量,总是>=len(s)
相关推荐
你不是我我4 小时前
【Java 开发日记】HTTP3 性能更好,为什么内网微服务依然多用 HTTP2?HTTP2 内网优势是什么?
java·开发语言·微服务
tjl521314_215 小时前
04C++ 名称空间(Namespace)
开发语言·c++
赏金术士5 小时前
Kotlin 数据流与单双向绑定
android·开发语言·kotlin
逻辑驱动的ken6 小时前
Java高频面试场景题25
java·开发语言·深度学习·面试·职场和发展
AI人工智能+电脑小能手7 小时前
【大白话说Java面试题】【Java基础篇】第32题:Java的异常处理机制是什么
java·开发语言·后端·面试
ltl7 小时前
Softmax 与概率分布:从分数到选择的桥
后端
刀法如飞7 小时前
Claude Code Skills 推荐:2026年最值得安装的10个AI技能
前端·后端·ai编程
無限進步D9 小时前
Java 面向对象高级 接口
java·开发语言
IT_陈寒9 小时前
Vite热更新失效?你可能漏了这个小细节
前端·人工智能·后端
两年半的个人练习生^_^10 小时前
Java日志框架和使用、日志记录规范
java·开发语言·开发规范