最适合网络开发者的网站
Golang。初学者课程

尿素

Go 数组


Go 数组

数组用于在单个变量中存储同一类型的多个值,而不是为每个值声明单独的变量。


声明数组

在Go中,有两种方式声明数组:

1. 使用 var 关键词:

句法

变量 数组名称 = [长度]数据类型{} // 这里定义了长度

或者

变量 数组名称 = [...]数据类型{} // 这里的长度是推断出来的

2. 使用 := 符号:

句法

数组名称 := [长度]数据类型{} // 这里定义了长度

或者

数组名称 := [...]数据类型{} // 这里的长度是推断出来的

笔记:长度 指定要存储在数组中的元素数。在 Go 中,数组的长度是固定的。数组的长度要么由数字定义,要么是推断出来的(这意味着编译器根据数组中元素的数量来决定数组的长度)。).


数组示例

例子

此示例声明两个具有定义长度的数组(arr1 和 arr2):

软件包 main
导入(“fmt”)

函数main(){
var arr1 = [3]int{1,2,3}
arr2 := [5]int{4,5,6,7,8}

fmt.Println(arr1)
fmt.Println(arr2)
}

结果:

[1 2 3]
[4 5 6 7 8]
亲自尝试 »

例子

此示例声明两个具有推断长度的数组(arr1 和 arr2):

软件包 main
导入(“fmt”)

函数main(){
var arr1 = [...]int{1,2,3}
arr2 := [...]int{4,5,6,7,8}

fmt.Println(arr1)
fmt.Println(arr2)
}

结果:

[1 2 3]
[4 5 6 7 8]
亲自尝试 »

例子

此示例声明了一个字符串数组:

软件包 main
导入(“fmt”)

函数main(){
var cars = [4]string{“沃尔沃”、“宝马”、“福特”、“马自达”}
fmt.Print(汽车)
}

结果:

[Volvo BMW Ford Mazda]
亲自尝试 »

访问数组元素

您可以通过引用索引号来访问特定的数组元素。

在 Go 中,数组索引从 0 开始。这意味着 [0] 是第一个元素,[1] 是第二个元素,等等。

例子

此示例显示如何访问价格数组中的第一个和第三个元素:

软件包 main
导入(“fmt”)

函数main(){
价格:= [3]int{10,20,30}

fmt.Println(价格[0])
fmt.Println(价格[2])
}

结果:

10
30
亲自尝试 »

更改数组元素

您还可以通过引用索引号来更改特定数组元素的值。

例子

此示例显示如何更改价格数组中第三个元素的值:

软件包 main
导入(“fmt”)

函数main(){
价格:= [3]int{10,20,30}

价格[2] = 50
fmt.Println(价格)
}

结果:

[10 20 50]
亲自尝试 »

数组初始化

如果数组或其元素之一在代码中尚未初始化,则会为其分配其类型的默认值。

提示: int的默认值为0,string的默认值为“”。

例子

软件包 main
导入(“fmt”)

函数main(){
arr1 := [5]int{} //未初始化
arr2 := [5]int{1,2} //部分初始化
arr3 := [5]int{1,2,3,4,5} //完全初始化

fmt.Println(arr1)
fmt.Println(arr2)
fmt.Println(arr3)
}

结果:

[0 0 0 0 0]
[1 2 0 0 0]
[1 2 3 4 5]
亲自尝试 »

仅初始化特定元素

可以仅初始化数组中的特定元素。

例子

此示例仅初始化数组的第二个和第三个元素:

软件包 main
导入(“fmt”)

函数main(){
arr1 := [5]int{1:10,2:40}

fmt.Println(arr1)
}

结果:

[0 10 40 0 0]
亲自尝试 »

示例解释

上面的数组有 5 个元素。

  • 1:10 意思是:分配10 到数组索引1 (第二个元素)。
  • 2:40 意思是:分配40 到数组索引2 (第三元素)。

计算数组的长度

len() 函数用于查找数组的长度:

例子

软件包 main
导入(“fmt”)

函数main(){
arr1 := [4]string{“沃尔沃”、“宝马”、“福特”、“马自达”}
arr2 := [...]int{1,2,3,4,5,6}

fmt.Println(len(arr1))
fmt.Println(len(arr2))
}

结果:

4
6
亲自尝试 »

围棋练习

通过练习测试自己

锻炼:

创建一个名为 cars 的字符串类型数组:

package main
import ("fmt") 
func main() { var = [4]{"Volvo", "BMW", "Ford", "Mazda"} fmt.Print() }