在 Go 中使用數組時,了解如何有效地確定其大小至關重要。本文深入探討了可用的不同方法。
最初的問題源自於 len() 函數傳回陣列的宣告大小,而不是初始化元素的實際數量。
package main var check [100]int func main() { println(len(check)) }
輸出:100
雖然上面的程式碼宣告了一個大小為 100 的數組,但 len() 函數會報告:大小,即使沒有任何元素被初始化。
在 Go 中,陣列的大小是固定的。這意味著一旦創建,它們的大小就無法修改。因此,數組的長度是其類型的固有屬性。對於 [100]int 類型的數組,長度始終為 100,len() 反映了這個常數值。
與其他語言不同,Go 不追蹤陣列中已初始化元素的數量。這是因為數組在創建時被初始化為零值。例如,預設情況下,整數陣列的所有元素都設為 0。因此,不需要單獨的機制來計算初始化元素。
如果您需要動態擴展以容納新元素的資料結構,請考慮使用切片數組。切片是一種引用類型,為底層數組提供靈活的視圖。
package main func main() { s := []int{1, 2, 3} fmt.Println(len(s)) // Outputs: 3 }
在此範例中,s 是引用大小為 3 的陣列的切片。 len() 函數正確返回初始化的數量
了解如何確定 Go 中數組的大小對於高效的資料管理至關重要。陣列提供固定大小的存儲,而切片提供管理不同大小元素的動態替代方案。
以上是如何確定 Go 中數組的大小?的詳細內容。更多資訊請關注PHP中文網其他相關文章!