# 3.1 数组 如果你使用过python、ruby、perl、javascript或者php,也许你已经在写代码时使用过动态数组,这些数组在添加数据时会动态改变自己的大小。和大多数语言一样,在go中,数组是固定大小的。声明一个数组时我们必须指定它的大小,一旦数组的大小被指定,它就不能扩展变大: ```go var scores [10]int scores[0] = 339 ``` 上面定义的数组可以容纳10个元素,使用索引`scores[0]`到`scores[9]`。当你尝试着访问超出数组边界的的元素,会导致一个编译错误或者运行时错误。 我们可以直接使用值初始化一个数组: `scores := [4]int{9001, 9333, 212, 33}` 也可以使用`len`得到数组的长度,`range`也可以遍历一个数组: ```go for index, value := range scores { } ``` 数组效率高但是不灵活。我们提前处理数据时,一般都不知道元素的数量。因此,我们使用切片。 ## 链接