go 是不是对 map 集合的键值获取进行了特殊处理?-灵析社区

Fronttend

[index expression](https://link.segmentfault.com/?enc=tnnE%2F0ulSMUpL85PiJqOCQ%3D%3D.wvMNxGH8zRDb0OreKU%2FIzoIIzzPd170OU4Iq3N7Tl56AgX53hjsEwXZXUDyGAV53sDeEvvEFPszpmgBnmcCBpg%3D%3D) > An index expression on a map a of type map[K]V used in an assignment > statement or initialization of the special form > > > v, ok = a[x] > v, ok := a[x] > var v, ok = a[x] > > yields an additional untyped boolean value. The value of ok is true if the > key x is present in the map, and false otherwise. 从文档里搜索一下 special form,可以发现还有 type assertion ,receive expression 也有类似的形式。 这个 special form 的含义跟行为在三个地方都有点不太相同。 type assertion 里面,使用这种形式将不引起 panic ,而是通过一个 boolean 返回转换是否成功。 receive expression 里,特殊形式的 boolean 指示通信是否成功(为 false 表示 channel 已经关闭了)。

阅读量:1

点赞量:0

问AI