在 Go 中決定陣列大小
在 Go 中,陣列具有固定大小,這表示它們在建立後無法調整大小。因此,數組的長度是其類型的固有屬性。 len() 函數可以揭示這個長度,該長度在陣列的整個生命週期中保持不變。
違反直覺的 len() 行為
提供的範例說明了一個常見的誤解。 len() 函數傳回宣告的陣列大小,在本例中為 100。但是,如果您希望輸出表示初始化為非零值的元素數量,則輸出可能會產生誤導。
Go 中未初始化的陣列
Go 陣列會自動產生所有元素都以零值初始化。因此,即使陣列的宣告大小為 100,它也只包含零,直到將明確值指派給特定索引為止。這意味著「數組中的總項目數」實際上始終與聲明的大小相同。
切片:一個不同的故事
與數組相比,切片,提供底層數組的一部分的動態視圖。它們具有長度和容量,其中容量是切片可以擴展到的最大長度。當切片超出其當前長度時,Go 會自動分配一個更大的底層數組並相應地調整切片描述。
如果您對數組中非零元素的數量感興趣,請考慮使用 for- range 循環遍歷元素並對非零的元素進行計數。或者,您可以使用切片並根據需要修改切片長度。
要全面了解 Go 中的數組和切片,請參閱有關 Go 切片和數組的推薦部落格文章。這些資源提供了對 Go 語言中數組和切片操作的細微差別和內部工作原理的詳細見解。
以上是如何確定Go數組中初始化元素的大小和數量?的詳細內容。更多資訊請關注PHP中文網其他相關文章!