Go语言基础学习之数组的使用详解
数组的定义
在Go语言中,数组是具有相同数据类型的一组连续内存空间的集合。数组可以用来存储一系列的同类型数据,数组名为数组在内存中的首地址。
数组的定义格式如下所示:
var 数组名 [元素数量]类型
其中,数组名是用户定义的标识符,元素数量必须是一个常量表达式,类型可以是任意基本类型。
数组的初始化
数组定义后,可以通过初始化来为数组元素赋值,如下所示:
var a [3]int //定义了一个长度为3的int类型数组
a[0] = 1 //为数组第一个元素赋值
a[1] = 2 //为数组第二个元素赋值
a[2] = 3 //为数组第三个元素赋值
也可以在定义的同时对数组进行初始化:
var a = [3]int{1, 2, 3} //定义时初始化
如果初始化数组时没有指定全部的初始值,那么未初始化的元素将会被自动赋为对应类型的默认值,例如对于int类型的数组,默认值为0。
var a = [3]int{1, 2} //未初始化的元素自动赋值为0
还可以使用...符号来让编译器根据初始化值的数量自动推断数组长度:
var a = [...]int{1, 2, 3} //编译器自动推断数组长度为3
数组的遍历
通过循环语句可以方便地对数组进行遍历:
var a = [3]int{1, 2, 3}
for i := 0; i < len(a); i++ {
fmt.Println(a[i])
}
使用range关键字也可以对数组进行遍历,它会返回数组的索引和对应的值:
var a = [3]int{1, 2, 3}
for index, value := range a {
fmt.Printf("a[%d] = %d\n", index, value)
}
示例说明
示例一:求数组元素的和
var arr = [5]int{1, 2, 3, 4, 5} //定义一个长度为5的int类型数组
sum := 0
for _, value := range arr { //使用range关键字遍历数组
sum += value
}
fmt.Println("sum =", sum) //输出结果:sum = 15
在这个示例中,我们定义了一个长度为5的int类型数组,并使用range关键字遍历数组,计算出数组中所有元素的和,最终输出结果。
示例二:数组的反转
var a = [5]int{1, 2, 3, 4, 5} //定义一个长度为5的int类型数组
for i := 0; i < len(a)/2; i++ { //遍历数组的前半部分
//通过交换前后两个元素的位置来实现数组的反转
a[i], a[len(a)-1-i] = a[len(a)-1-i], a[i]
}
fmt.Println(a) //输出结果:[5 4 3 2 1]
在这个示例中,我们定义了一个长度为5的int类型数组,并通过遍历数组的前半部分来实现数组的反转,最终输出结果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Go语言基础学习之数组的使用详解 - Python技术站