數組的特點(編程語言大多如此)
- 分配在連續的內存地址上
- 元素類型一致,元素存儲寬度一致
- 空間大小固定,不能修改
- 可以通過索引計算出元素對應存儲的位置(只需要知道數組內存的起始位置和數據元素寬度即可)
- 會出現數據溢出的問題(下標越界)
默認情況下,數組的每個元素都被初始化爲元素類型對應的零值,對於數字類型來說就是0。
我們也可以使用數組字面值語法用一組值來初始化數組:
Go
語言中的數組是值類型,一個數組變量就表示着整個數組(和Java不同)
如果在數組的長度位置出現的是“...”省略號,表示數組的長度是根據初始化值的個數來計算。
數組的長度是數組類型的一個組成部分,因此[3]int和[4]int是兩種不同的數組類型。
數組的長度必須是常量表達式,因爲數組的長度需要在編譯階段確定。
數組、slice、map和結構體字面值的寫法都很相似。
上面的形式是直接提供順序初始化值序列,但是也可以指定一個索引和對應值列表的方式初始化。(很傻吊,知道即可)
如果一個數組的元素類型是可以相互比較的,那麼數組類型也是可以相互比較的,
可直接通過==比較兩個數組,只有當兩個數組的所有元素都是相等的時候數組纔是相等的。
不相等比較運算符!=遵循同樣的規則。