数组和切片是 Go 语言中常用的数据结构,它们都可以存储多个同类型的元素。

数组

数组是具有固定长度的数据类型,它的长度在定义时就已经确定,不能随意改变。

你可以使用以下方式定义一个数组:

var arr [3]int

这段代码定义了一个长度为 3 的int类型数组arr。你也可以在定义时初始化数组:

arr := [3]int{1, 2, 3}

你可以通过下标访问和修改数组的元素:

arr[0] = 10  // 修改数组的第一个元素fmt.Println(arr[1])  // 输出数组的第二个元素

切片

切片是一个引用类型,它其实是对底层数组的封装。切片的长度是可以变的,所以它比数组更加灵活。

你可以使用以下方式定义一个切片:

var s []int

这段代码定义了一个int类型的切片s。你也可以在定义时初始化切片:

s := []int{1, 2, 3}

你可以通过make函数创建一个切片:

s := make([]int, 3)  // 创建一个长度为 3 的切片

你可以通过下标访问和修改切片的元素,和数组类似:

s[0] = 10  // 修改切片的第一个元素fmt.Println(s[1])  // 输出切片的第二个元素

切片有一些额外的操作,比如appendcopy

s = append(s, 4, 5, 6)  // 在切片末尾添加元素t := make([]int, len(s))copy(t, s)  // 复制切片

切片可以进行切片操作,得到一个子切片:

sub := s[1:3]  // 获取切片的一个子切片

以上就是 Go 语言中数组和切片的基本使用。理解和掌握数组和切片是编写 Go 语言程序的基本技能。
推荐阅读:

https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g