【问题标题】:How to tell if the value of a map is undefined in Go? [duplicate]如何判断地图的值是否在 Go 中未定义? [复制]
【发布时间】:2014-01-15 21:49:00
【问题描述】:

假设我有一张这样的地图:

m := map[string]interface{}{}

现在我得到一个字符串"a",我想知道m["a"]中是否有值,我怎么知道?

正如我现在所看到的,m["a"] 永远不会是 nil,所以我无法将其与 nil 进行比较以查看是否有任何内容。此外,没有一个名为 undefined 的关键字可以做到这一点..

【问题讨论】:

    标签: go undefined


    【解决方案1】:

    map 访问返回两个值,第二个是布尔值,告诉您是否有值。

    你可以使用这个标准的成语:

    if elm, ok := m["a"]; ok {
        // there's an element
    } else {
        // no element
    } 
    

    Documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-10
      • 1970-01-01
      • 1970-01-01
      • 2010-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多