在golang中从嵌套映射中检索值

时间:2017-04-12 00:07:13

标签: go

我正在尝试从地图中的地图中检索值。我已经按照在线教程但没有得到正确的答案。这是我的计划:

type OptionMap map[string]interface{}
func(options OptionMap) {
    opt, _ := options["data2"].(OptionMap)
    fmt.Println("opt", opt)
    for key, value := range options {
        fmt.Println("Key:", key, "Value:", value)
    }
}

选项有两个键data1和data2。在for循环中,printf打印在

之后
Key: data1 Value: false
Key: data2 Value: map[h:5]

当我运行代码时

opt, _ := options["data2"].(OptionMap)

我在nil收到了opt。我不确定如何检索map[h:5]的值。

1 个答案:

答案 0 :(得分:0)

你正在获取内部地图的零值,因为你没有使用类型OptionMap创建内部地图。你必须使用map [string] interface {}创建它并尝试断言到获取nil值失败的OptionMap。请参阅以下使用OptionMap类型的示例。通过https://tour.golang.org/methods/15处的类型断言页面

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span>
  <input type="checkbox" id="chk" >
</span>