[Go入门]数组

数组

数组是具有固定长度且拥有零个或多个相同数据类型元素的序列。由于数组的长度固定,所以在Go里面很少直接使用。slice的长度可以增长和缩短,在很多场合下使用得更多。然而,万丈高台起于垒土,在理解slice之前,我们必须先理解数组。

数组中的每个元素都是通过索引来访问的,索引从0到数组长度减1。Go内置的函数len可以返回数组中的元素个数。

var a [3]int // 3个整数的数组
fmt.Println(a[0])
fmt.Println(a[len(a)-1])
for i, v := range a {
	fmt.Printf("%d %d\n", i, v)
}

for _, v in range a {
    fmt.Printf("%d\n, v)
} 

默认情况下,一个新数组中的元素初始值为元素类型的零值。对于数字来说,就是0。也可以使用数组字面量根据一组值来初始化一个数组。

var q [3]int = [3]int{1, 2, 3}
var r [3]int = [3]int{1, 2}
fmt.Println(r[2]) //  "0"

在数组字面量中,如果省略号 “…” 出现在数组长度的位置,那么数组的长度由初始化数组的元素个数决定。以上可以简化为:

q := [...]int{1, 2, 3}
fmt.Printf("%T\n", q) // "[3]int"

数组的长度是数组类型的一部分,所以[3]int和[4]int是两种不同的数组类型。数组的长度必须是常量表达式,也就是说,这个表达式的值在程序编译时就可以确定。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值