如果映射包含一个带有键 x 的条目,则 a[x] 是带有键 x 的映射元素,并且 a[x] 的类型是 M 的元素类型
但
map[K]V 类型的映射 a 上的索引表达式,用于特殊形式的赋值或初始化
v, ok := a[x]
产生一个额外的无类型布尔值。
我还在学习围棋。它是融入语言的“语法特征”并且“仅在使用此语法时起作用”,即调用v := a[x]
并v, ok := a[x]
表示为 AST 中不同类型的节点,如MapGetAndCheckExistsNode(m, k, v, ok)
vs MapGet(m, k, v)
?或者这是使用“正常”的 Go 语法实现的,索引函数以某种方式知道它的输出是否稍后被“解构”?是否可以使用语法强制索引表达式返回元组或结构s.v
以及s.ok
字段s := a[x]
?
jeck猫
相关分类