a 是否将map
其长度存储在某处,还是每次调用时都会计算len(my_map)
?
语言规范为地图显示了这一点,这并没有真正的帮助:
map
元素的数量称为它的长度。对于 mapm
,可以使用内置函数发现它,len
并且在执行过程中可能会发生变化。可以在执行期间使用赋值添加元素并使用索引表达式检索;可以使用 delete 内置函数删除它们。
在“长度和容量”部分下,我们看到:
表达
len(s)
如果是常数s
是一个string
常数。如果类型为 an或to an且表达式不包含通道接收或(非常量)函数调用,则表达式len(s)
andcap(s)
为常量;在这种情况下不进行评估。否则,调用和不恒定,并进行评估。s
array
pointer
array
s
s
len
cap
s
所以它告诉我们它s
不是常量并且被评估,但它没有说明它是否像他们对slice
类型那样被查找为存储值。
相关分类