📅  最后修改于: 2023-12-03 15:38:10.451000             🧑  作者: Mango
在 Go 中,切片(slice)是一个动态数组,可以根据需要进行扩展或缩小。切片可以看作是对数组的一种封装,提供了一些很方便的操作,比如动态增加元素、指定位置插入元素、删除元素等。本文将介绍如何初始化切片,以及一些常用操作。
初始化切片有以下几种方式:
var s []int = []int{1, 2, 3, 4, 5}
这种方式需要给定初始值,类型为[]int
。
s := make([]int, 5, 10)
该方式使用make()
函数创建一个指定类型([]int
)、长度(5
)和容量(10
)的切片。
s := []int{1, 2, 3, 4, 5}
s = append(s, 6, 7, 8, 9, 10)
这种方式首先声明并初始化一个切片,然后使用append()
函数添加新的元素。
s := make([]int, 5, 10)
fmt.Println(len(s), cap(s)) // 输出 5 10
通过len()
函数和cap()
函数可以获取切片的长度和容量。
s := []int{1, 2, 3, 4, 5}
s1 := s[0:3] // 获取 1, 2, 3
s2 := s[2:] // 获取 3, 4, 5
s3 := s[:3] // 获取 1, 2, 3
可以使用切片来截取另一个切片,具体方式是slice[begin:end]
,其中begin
是起始下标(包括该下标所对应的元素),end
是结束下标(不包括该下标所对应的元素)。
s := []int{1, 2, 3, 4, 5}
for i := 0; i < len(s); i++ {
fmt.Println(s[i])
}
for i, v := range s {
fmt.Println(i, v)
}
可以使用for
循环遍历切片,也可以使用range
关键字来遍历。
本文介绍了如何初始化切片以及一些常用操作。Go 语言中的切片提供了很多方便的功能,需要程序员充分掌握和利用。