数组
数组是内置类型,是一组同类型数据的集合,它是值类型,通过从0开始的下标索引访问元素值。
在初始化后长度是固定的,无法修改其长度。当作为方法的参数传入时将复制一份数组而不是引用同一指针。
数组的长度也是其类型的一部分,通过内置函数len(array)获取其长度。
还有几点要注意的:
- Go中的数组是值类型,如果你将一个数组赋值给另外一个数组,那么,实际上就是将整个数组拷贝一份。
- 如果Go中的数组作为函数的参数,那么实际传递的参数是一份数组的拷贝,而不是数组的指针,修改数组的值需要传递数组的指针。
- array的长度也是Type的一部分,这样就说明[1]int和[2]int是不一样的。
//值传递,传的是副本
func updateArr(b [3]int) {
b[0] = 3
}
//传指针,[3]int是一个类型
func updateArrPoint(b *[3]int) {
b[0] = 3
}
func main() {
//常见两种初始化方式
//var b = [...]int{1, 2, 3}
var b = [3]int{1, 2, 3}
updateArr(b)
fmt.Println(b)
updateArrPoint(&b)
fmt.Println(b)
//计算数组长度和容量
fmt.Println(len(b))
fmt.Println(cap(b))
}
打印:
[1 2 3]
[3 2 3]
3
3
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
数据
+关注
关注
8文章
7026浏览量
89024 -
数据结构
+关注
关注
3文章
573浏览量
40130 -
数组
+关注
关注
1文章
417浏览量
25945
发布评论请先 登录
相关推荐
C语言中指针数组和数组指针的区别
指针和数组之间存在着紧密的关系。在本文中,我们将探讨指针和数组的关系、指针算术和数组遍历、多维数组与指针以及指针数组和
发表于 08-17 15:29
•412次阅读
java中数组的三种定义方式_java中数组的定义及使用方法(推荐)
java中,数组是一种很常用的工具,本文将介绍来java中数组的三种定义方式以及java中数组的定义及使用方法。
发表于 01-29 09:53
•3.2w次阅读
网络和变量的未压缩数组
数组的维度定义了数组可以存储的元素总数。未压缩的数组可以用任意数量的维度声明,每个维度存储指定数量的元素。声明数组维度有两种编码样式:显式地
变长数组和动态数组区别
动态数组是指在声明时,没有确定数组大小的数组,它可以随程序需要而重新指定大小。动态数组的内存空间是从堆动态分配的,当程序执行到我们编写的分配语句时,才为其分配存储空间。
unpacked数组和packed数组的主要区别
unpacked数组和packed数组的主要区别是unpacked数组在物理存储时不能保证连续,而packed数组则能保证在物理上连续存储。
C语言二维数组的定义
按以上定义,数组a课用的下标范围为0~2,“列下标”的范围为0~3,。用a[3][4]表示元素显然超过了数组的范围。
读者要严格区分在定义数组
python如何定义二维空数组
在Python中,可以通过使用列表嵌套的方式来定义二维空数组。具体步骤如下: Step 1: 创建一个空的二维列表 要创建一个空的二维数组,首先需要定义
c语言中数组怎么定义
C语言中,数组是一种用来存储相同类型元素的数据结构。它可以存储多个元素,并通过一个共同的名称来引用这些元素。数组是一种很重要的数据结构,可以用于解决很多实际的问题。 在C语言中,定义数组
c语言中多维数组可以嵌套定义
C语言中多维数组可以嵌套定义,这使得我们可以在一个数组中存储另一个数组。通过这种方式,我们可以创建更加复杂和灵活的数据结构,以便更好地表示和处理各种类型的数据。 首先,我们先介绍多维
评论