数组
Go
的数组和其它语言基本上一样,是长度固定的特定类型元素组成的序列,这基本上是所有语言数组的特性。和其它语言相比差异主要在声明和初始化的写法上,下面是简单声明一个数组:
var a [5]int
fmt.Println(a[0])
fmt.Println(fmt.Println(a[len(a)-1]))
上面的a
是一个长度为5
的整数数组,如果没有给定初始值它里面的元素默认值是0
。Go
数组的下标是从0开始的,len
函数返回数组中元素的个数。我们可以在声明数组的时候初始化它的值:
var m [3]int = [3]int{1, 2, 3}
var n [3]int = [3]int{2, 3}
这里的m
和n
都是长度为3
的数组,m
对应的值是1, 2, 3
而由于n
初始化的时候只有2
个值,因此它里面的值是2, 3, 0
。
如果采用简单声明:=
的方式声明一个数组,可以指定数组的大小,也可以不指定大小这时它会根据初始化值的个数来确定:
a := [10]int{} //元素都为0
b := [...]int{1, 2} //长度为2
Go
也可以直接指定一个索引和值,来初始化,如果声明的时候长度不指定,那