介绍
Array作为一种基本数据类型,在计算机科学的算法和数据结构中具有很大的用处,go语言也不例外。Array(数组)是一种线性表数据结构,它由一组具有相同类型的数据组成,且每个数据元素都有一个唯一的下标。
在go语言中如果不需要动态的数组长度,可以使用数组来代替slice,以获得更好的性能,go语言中的数组是值类型。
定义及使用
go语言中定义数组的语法如下:
var array_name [array_length]array_type
其中array_name为数组名,array_length为数组长度,array_type为数组类型。定义一个名称为numbers的长度为10的整型数组,代码如下:
var numbers [10]int
数组与其他语言一样,下标从0开始,可以通过数组下标赋值或者取值,如:
numbers[0] = 88
fmt.Println(numbers[0]) // 88
通过循环遍历数组,可以获取数组中的所有元素,go语言支持for循环语句,可以使用for...range,代码如下:
for index, value := range numbers {
fmt.Printf("第 %d 个数据是 %d\n", index, value)
}
输出结果如下:
第 0 个数据是 88
第 1 个数据是 0
第 2 个数据是 0
第 3 个数据是 0
第 4 个数据是 0
第 5 个数据是 0
第 6 个数据是 0
第 7 个数据是 0
第 8 个数据是 0
第 9 个数据是 0
多维数组
go语言支持多维数组,可以使用多个[]来定义数组,例如下面定义一个二维数组:
var college [2][3]string
上面代码定义了一个二维数组,第一维有2个元素,第二维每个元素有3个元素,可以通过下标访问二元数组,代码如下:
college[0][0] = "中国传媒大学"
college[0][1] = "同济大学"
college[0][2] = "上海科技大学"
college[1][0] = "斯坦福大学"
college[1][1] = "加州理工学院"
college[1][2] = "麻省理工学院"
for i := 0; i < len(college); i++ {
for j := 0; j < len(college[i]); j++ {
fmt.Print(college[i][j], "\t")
}
fmt.Println()
}
输出结果如下:
中国传媒大学 同济大学 上海科技大学
斯坦福大学 加州理工学院 麻省理工学院
总结
go语言中数组的定义和其他语言差别不大,数组的定义需要指定数组的大小和类型,可以通过下标访问数组中的元素,go语言的多维数组定义方式也非常简单,只需要多个[]就可以了。
在使用数组时一定要注意下标越界问题,越界访问会直接导致程序崩溃,给程序带来非常严重的问题。此外,在go语言中数组是值类型,不是引用类型,如果需要在函数中修改数组,需要传递数组指针。
对于不需要动态数组长度的任务,使用数组可以获得更好的性能和内存使用效率。
本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/golang-kzci.html
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。
如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!