数组长度是整个数组类型(不是数组元素的类型)的一部分。
因此[5]int
和[25]int
是不同的类型,也无法调整数组的大小。不要担心这个限制,因为切片(slice)的存在就是为了克服这个问题。
package main
func main() {
a := [3]int{5, 78, 8}
var b [5]int
b = a //不可能,因为[3]int和[5]int是不同的类型
}
在上面的程序中,我们试图将一个类型为[3]int
的变量赋给一个类型为[5]int
的变量,这是不允许的,因此编译器将抛出错误:
cannot use a (type [3]int) as type [5]int in assignment.
len函数
要获取数组长度,可以使用len
函数
package main
import "fmt"
func main() {
a := [...]float64{67.7, 89.8, 21, 78}
fmt.Println("length of a is",len(a))
}
输出: length of a is 4