go语言数组定义(r语言定义一个空数组)

介绍

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小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年5月2日 上午3:43
下一篇 2023年5月2日 上午3:44

猜你喜欢