首頁 >後端開發 >Golang >如何確定Go數組中初始化元素的大小和數量?

如何確定Go數組中初始化元素的大小和數量?

DDD
DDD原創
2024-11-29 07:21:141050瀏覽

How Do I Determine the Size and Number of Initialized Elements in a Go Array?

在 Go 中決定陣列大小

在 Go 中,陣列具有固定大小,這表示它們在建立後無法調整大小。因此,數組的長度是其類型的固有屬性。 len() 函數可以揭示這個長度,該長度在陣列的整個生命週期中保持不變。

違反直覺的 len() 行為

提供的範例說明了一個常見的誤解。 len() 函數傳回宣告的陣列大小,在本例中為 100。但是,如果您希望輸出表示初始化為非零值的元素數量,則輸出可能會產生誤導。

Go 中未初始化的陣列

Go 陣列會自動產生所有元素都以零值初始化。因此,即使陣列的宣告大小為 100,它也只包含零,直到將明確值指派給特定索引為止。這意味著「數組中的總項目數」實際上始終與聲明的大小相同。

切片:一個不同的故事

與數組相比,切片,提供底層數組的一部分的動態視圖。它們具有長度和容量,其中容量是切片可以擴展到的最大長度。當切片超出其當前長度時,Go 會自動分配一個更大的底層數組並相應地調整切片描述。

如果您對數組中非零元素的數量感興趣,請考慮使用 for- range 循環遍歷元素並對非零的元素進行計數。或者,您可以使用切片並根據需要修改切片長度。

要全面了解 Go 中的數組和切片,請參閱有關 Go 切片和數組的推薦部落格文章。這些資源提供了對 Go 語言中數組和切片操作的細微差別和內部工作原理的詳細見解。

以上是如何確定Go數組中初始化元素的大小和數量?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn