在 Go 中确定数组大小
在 Go 中,数组具有固定大小,这意味着它们在创建后无法调整大小。因此,数组的长度是其类型的固有属性。 len() 函数可以揭示这个长度,该长度在数组的整个生命周期中保持不变。
违反直觉的 len() 行为
提供的示例说明了一个常见的误解。 len() 函数返回声明的数组大小,在本例中为 100。但是,如果您希望输出表示初始化为非零值的元素数量,则输出可能会产生误导。
Go 中未初始化的数组
Go 数组会自动生成所有元素都用零值初始化。因此,即使数组的声明大小为 100,它也只包含零,直到将显式值分配给特定索引为止。这意味着“数组中的总项目数”实际上始终与声明的大小相同。
切片:一个不同的故事
与数组相比,切片,提供底层数组的一部分的动态视图。它们具有长度和容量,其中容量是切片可以扩展到的最大长度。当切片超出其当前长度时,Go 会自动分配一个更大的底层数组并相应地调整切片描述符。
如果您对数组中非零元素的数量感兴趣,请考虑使用 for- range 循环遍历元素并对非零的元素进行计数。或者,您可以使用切片并根据需要修改切片长度。
要全面了解 Go 中的数组和切片,请参阅有关 Go 切片和数组的推荐博客文章。这些资源提供了对 Go 语言中数组和切片操作的细微差别和内部工作原理的详细见解。
以上是如何确定Go数组中初始化元素的大小和数量?的详细内容。更多信息请关注PHP中文网其他相关文章!