【笔记】Go语言的数组

前言

Go语言的数组学习笔记,数组存放在内存的栈区

声明数组

1
var 数组名 [数组长度]数据类型

定义数组

1
var 数组名 [数组长度]数据类型 = [数组长度]数据类型{数据, 数据, ...}
1
数组名 := [数组长度]数据类型{数据, 数据, ...}
1
数组名 := [...]数据类型{数据, 数据, ...}

初始化指定下标的值

1
var 数组名 [数组长度]数据类型 = [数组长度]数据类型{下标:数据}

获取元素值

  • 下表从0开始
1
数组名[下标]

修改元素值

1
数组名[下标] = 元素值

输出数组

1
fmt.Println(数组名)

遍历数组

1
2
3
4
for i := 0; i < len(数组); i++ {
fmt.Println("数组下标: ", i)
fmt.Println("数组元素: ", 数组名[i])
}
1
2
3
4
for i, v := range 数组名 {
fmt.Println("数组下标: ", i)
fmt.Println("数组元素: ", v)
}

冒泡排序

1
2
3
4
5
6
7
for i := 0; i < len(数组名) - 1; i++ {
for j := 0; j < len(数组名) - 1 - i; j++ {
if j < j + 1 {
数组名[j], 数组名[j + 1] = 数组名[j + 1], 数组名[j]
}
}
}

将数组作为函数参数

  • 数组作为函数参数传递时是传递,形参不能改变实参的值
1
2
3
4
5
func 函数名(数组名 [数组长度]数据类型) {}

func main() {
函数名(数组名)
}

二维数组

定义二维数组

1
var 数组名 [行长度][列长度]数据类型

声明二维数组

1
var 数组名 [行长度][列长度]数据类型 = [行长度][列长度]数据类型{{数据, 数据, ...}, {数据, 数据, ...}}

获取二叔数组的元素

1
数组名[行长度][列长度]

遍历二维数组

1
2
3
4
5
for i := 0; i < len(数组名); i++ {
for j := 0; j < len(数组名[0]; j++) {
数组名[i][j]
}
}

完成

参考文献

哔哩哔哩——喔咔咔耶耶