您好,登錄后才能下訂單哦!
數組是指一系列同一類型數據的集合。數組中包含的每個數據被稱為數組元素(element),這種類型可以是任意的原始類型,比如 int、string 等,也可以是用戶自定義的類型。
一個數組包含的元素個數被稱為數組的長度。在 Golang 中數組是一個長度固定的數據類型,數組的長度是類型的一部分,也就是說 [5]int 和 [10]int 是兩個不同的類型。
Golang 中數組的另一個特點是占用內存的連續性,也就是說數組中的元素是被分配到連續的內存地址中的,因而索引數組元素的速度非常快。
Golang 數組的特點
我們可以把 Golang 數組的特征歸納為以下三點:
固定長度:這意味著數組不可增長、不可縮減。想要擴展數組,只能創建新數組,將原數組的元素復制到新數組。
內存連續:這意味可以在緩存中保留的時間更長,搜索速度更快,是一種非常高效的數據結構,同時還意味著可以通過數值的方式(arr[index])索引數組中的元素。
固定類型:固定類型意味著限制了每個數組元素可以存放什么樣的數據,以及每個元素可以存放多少字節的數據。
數組是個固定長度的數據類型,其長度和存儲元素的數據類型都在聲明數組時確定,并且不能更改。如果需要存儲更多的元素,必須先創建一個更長的數組,然后把原來數組里的數據復制到新數組中。
數組占用的內存是連續分配的,比如我們創建一個包含 5 個整數元素的數組:
arr1 := [5]int{10,20,30,40,50}
數組在內存中的結構類似下圖:
由于內存連續,CPU 能把正在使用的數據緩存更久的時間。而且在內存連續的情況下非常容易計算索引,也就是說可以快速迭代數組里的所有元素。
原因是數組的類型信息可以提供每次訪問一個元素時需要在內存中移動的距離,既然數組的每個元素的類型都相同,又是連續分配,因此就可以以固定的速度索引數組中的任意元素,并且速度非常快!
以上就是golang 數組存的是什么的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。