【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)
相关推荐
Justin3go4 小时前
HUNT0 上线了——尽早发布,尽早发现
前端·后端·程序员
Tony Bai4 小时前
高并发后端:坚守 Go,还是拥抱 Rust?
开发语言·后端·golang·rust
wjs20245 小时前
Swift 类型转换
开发语言
一线大码5 小时前
SpringBoot 3 和 4 的版本新特性和升级要点
java·spring boot·后端
秃了也弱了。5 小时前
python实现定时任务:schedule库、APScheduler库
开发语言·python
weixin_440730505 小时前
java数组整理笔记
java·开发语言·笔记
weixin_425023005 小时前
Spring Boot 配置文件优先级详解
spring boot·后端·python
weixin_425023005 小时前
Spring Boot 实用核心技巧汇总:日期格式化、线程管控、MCP服务、AOP进阶等
java·spring boot·后端
一线大码5 小时前
Java 8-25 各个版本新特性总结
java·后端
Thera7775 小时前
状态机(State Machine)详解:原理、优缺点与 C++ 实战示例
开发语言·c++