gpt4 book ai didi

map - 获取无效操作 : mymap ["title"] (type interface {} does not support indexing) when trying to index a map

转载 作者:IT老高 更新时间:2023-10-28 12:59:45 27 4
gpt4 key购买 nike

我有 map 中的数据,我想通过键索引到 map 中以获取值。

mdi, err := page.Metadata()
fmt.Println(mdi["title"])

但是我不断收到错误消息invalid operation: mdi["title"] (type interface {} does not support indexing)。我很困惑,因为数据是一张 map ,我应该能够对其进行索引以获得值(value)。如果类型不清楚,我还尝试将值转换为字符串:

title, ok := mdi["title"].(string)
checkOk(ok)
fmt.Println(title)

但是,我收到了相同的错误消息。我做错了什么?

最佳答案

这里的数据类型是关键。 mdi 实际上并不是一个映射,而是一个interface{},它可以是任何东西——一个映射、一个字符串、一个整数。您需要先将其断言到具有预期键/值类型的映射,或者执行 JSON and Go 中概述的笨拙的 case 开关.

mdi, err := page.Metadata()
md, ok := mdi.(map[string]interface{})
fmt.Println(md["title"])

关于map - 获取无效操作 : mymap ["title"] (type interface {} does not support indexing) when trying to index a map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25214036/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com