为了账号安全,请及时绑定邮箱和手机立即绑定

如何在go中找到数组的大小

如何在go中找到数组的大小

Go
炎炎设计 2021-12-20 16:46:57
我试过len()函数,但它给出了声明的值。该size()函数给出错误。代码:package mainvar check [100]intfunc main() {    println(len(check))}输出在100这里,我需要数组中的总项目(即0)。
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

Go 中的数组是固定大小的:一旦你在 Go 中创建了一个数组,以后就不能改变它的大小。这是这样一种程度,即一个阵列的长度是阵列类型的一部分(这意味着类型[2]int和[3]int2层不同的类型)。也就是说,某些数组类型的值的长度总是相同的,并且由其类型决定。例如,类型[100]int为的数组值的长度始终为100,(可以使用内置函数进行查询len())。


规格:数组类型:


长度是数组类型的一部分;它必须评估为可由 type 值表示的非负常量int。a可以使用内置函数len发现数组的长度。


如果您正在寻找“设置了多少元素?”的答案,Go 中不会跟踪该问题。您要查找的“数组中的总项数”也始终与数组长度相同:当您在 Go 中创建数组时,数组中的所有元素都被初始化为元素类型的零值(除非另有说明)例如,通过使用复合文字)。


例如在这一行之后:


var arr [100]int

该数组arr已经有 100int秒,全部都是0(因为这是 type 的零值int)。在以下行之后:


var arr2 = [3]int{1, 2, 3}

该阵列arr2具有3个int元素,是1,2和3。在以下行之后


var arr3 = [...]bool{3: true}

阵列arr3有4个bool元素,感false,false,false和true(false是类型的零值bool,我们只指定的第四元件是true其在索引3)。


如果您询问切片,您的问题可能更有意义:


切片是底层数组的连续段的描述符,并提供对来自该数组的元素的编号序列的访问。


所以基本上切片是数组某些(连续)部分的“视图”。切片头或描述符包含指向它在数组中描述的部分的第一个值的指针,它包含长度和容量(这是长度可以扩展到的最大值)。


查看完整回答
反对 回复 2021-12-20
  • 1 回答
  • 0 关注
  • 629 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信