我正在尝试从地图中的地图中检索值。我已经按照在线教程但没有得到正确的答案。这是我的计划:
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]
的值。
答案 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>