切片
在 Go 语言中,切片(Slice)是一种非常强大的数据类型,它是基于数组构建的,并提供了很多便捷的操作方法。
package main
import "fmt"
func main() {
x := make([]string, 0, 5) //用make创建一个切片,容量为5
for i := 97; i <= 107; i++ {
x = append(x, string(i)) //循环向切片中添加数据,超过容量时会自动扩容
}
fmt.Println(x, len(x), x[3])
}
输出:
[a b c d e f g h i j k] 11 d
常用的创建切片的方式:
package main
import "fmt"
func main() {
x := []int{1, 2, 3} //直接初始化切片
y := make([]string, 0, 5) //使用make函数创建切片
for i := 97; i < 107; i++ {
y = append(y, string(i))
}
z := x[1:3] //从已有的切片创建新切片
fmt.Println(x, cap(x))
fmt.Println(y, cap(y))
fmt.Println(z, cap(z))
}
输出:
[1 2 3] 3
[a b c d e f g h i j] 10
[2 3] 2