首次学习go语言中数组的用法

首先说说写法

推荐简短写法:

var name(数组的名字) = [3](索引的长度) int(数组类型) {1,2,3}(索引的值)

var nam = [...] int {1,2,3,4}([]里面的...会根据索引的大小来判断长度)

数组在刚开始就定死了,不可更改,在编译的时候就决定了

如果你觉得每次写[3]int麻烦,你也可以自己定义一个类型

type name2 [3]int 然后这个name2就成了一个新的类型

var name name2 新的写法 [3]里面的3可以随便定义

初始化索引

name: =name2{1,2,3}

如果你想获取第二个索引为3,你可以这样写:

name: = name2{2:3}

数组比较

举个例子:

a:=[2]int{1,2}//定义了一个名字为a的数组

b:=[...]int{1,2}//定义了一个名字为b的数组

c:=[2]int{1,3}//定义了一个名字为c的数组

d:=[3]int{1,2,3}//定义了一个名字为d的数组

Println(a==b,b==c,a==c,c==d)

输出的结果为true,false,false,false

因为a和b 里面的索引的长度一样,并且索引的值也一样;b和c因为索引的值不一样,所以输出false;最后一个会导致编译错误,因为两个数组的长度不一样

多维数组

a=[1][2][3]...int{1}{2}{3}... 一个[]就代表一个一维数组,最常用的是二维整形数组

a=[2][3]int{{1,2,3},{3,3,1}} 声明了一个二维数组并赋值

a=[4][2]int{1:{0:20},3:{1,41}}声明并初始化数组中指定的元素

4表示列,2表示行

1:{}表示索引的第2个,也就是第二行; {0:20}表示索引的第1个并且赋值为20,第2个索引则为0

3:{}表示索引的第4个,也就是第4行;{1:41}表示索引的第2个并且赋值为41,第1个索引则为0

如果其他索引都没有被赋值的话,那就全部默认为0

取值:

Println(a[1][0]) 输出的值为20

索引的第二行第一个值,你也可以这样理解

//循环取值

for index,value:=range.a{//index是索引,value是值

Println(index,value)

跟数组的循环取值一样

只要多维数组的类型一致,就可以互相赋值

 打个比方:

如果一个名为a的二维数组赋值给了b

 并且当中修改了a的值

修改了并不会影响输出b的值,反之一样,相当于开辟了一个新的空间,他们互相修改值并不会影响对方的值

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值