go 语言切片基础

切片概述

Go 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。

初始化切片

语法 1

var 切片名称 = [] 类型 {值,值,......}

示例

func main() {
	var arr = []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
	println(arr[3])
}

语法 2

var 切片名称 = [] int { 键 : 值, 键 : 值, ..... }

func main() {
	var arr = []int{1: 2, 2: 3, 3: 4, 4, 5, 6, 7, 8, 9, 10}
	println(arr[3])
}

注意 :

只声明不赋值的情况下, 切片的默认值是 nil

切片的遍历

func main() {
	var arr = []int{0: 1, 1: 2, 2: 3, 3: 4, 4, 5, 6, 7, 8, 9, 10}
	for _, val := range arr {
		println(val)
	}
}

切片数据截取

可以使用 切片[起始位置:终止位置] 来截取切片数据;

func main() {
	var arr = []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
	var arr2 = arr[2:5]
	for _, v := range arr2 {
		println(v)
	}
}