当前位置: 首页 > 面试题库 >

如何从地图中获取价值

史懿轩
2023-03-14
问题内容

问题

从地图中获取数据

资料格式

res = map[Event_dtmReleaseDate:2009-09-15 00:00:00 +0000 +00:00 Trans_strGuestList:<nil> strID:TSTB]

注意

如何从上述结果中获得以下值

1.Event_dtmReleaseDate

2.strID

3.Trans_strGuestList

我试过的

  1. res.Map(“ Event_dtmReleaseDate”);

错误:res.Map未定义(类型map [string] interface {}没有字段或方法Map)

  1. res.Event_dtmReleaseDate;

错误:v.id未定义(类型map [string] interface {}没有字段或方法ID)


问题答案:

您的变量是a map[string]interface {},表示键是字符串,但值可以是任何值。通常,访问此方法的方式是:

mvVar := myMap[key].(VariableType)

或在字符串值的情况下:

id  := res["strID"].(string)

请注意,如果类型不正确或映射中不存在键,这将引起恐慌,但是我建议您阅读更多有关Go映射和类型断言的信息。

在此处阅读有关地图的信息:http :
//golang.org/doc/effective_go.html#maps

有关类型声明和接口转换的信息,请参见:http
:
//golang.org/doc/effective_go.html#interface_conversions

避免出现恐慌的安全方法是这样的:

var id string
var ok bool
if x, found := res["strID"]; found {
     if id, ok = x.(string); !ok {
        //do whatever you want to handle errors - this means this wasn't a string
     }
} else {
   //handle error - the map didn't contain this key
}


 类似资料:
  • 问题内容: 我正在与Go一起使用MongoDB。我有以下代码: k:0 v:地图[_id:ObjectIdHex(“ 536887c199b6d0510964c35b”)transId:A000000000] 我需要从中获取切片中返回的映射值和的值。我怎样才能做到这一点? 问题答案: 我只是在猜测,但万一您只想检索所有 交易 文档并打印它们,方法如下: 假设您有一个代表您收藏的文件的结构,例如:

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 我想从URL获取值,以按ID从数据库中选择数据。我想要ID值。 例如,如果我打开数据库, 我想获取id = 12的值。 如果我打开,则 获取数据库中id = 7的值,依此类推。 我有一些代码: 问题答案: 网址: 码:

  • 在的。NET框架4. x,我可以使用在中获取,然后我可以通过 但是在。Net内核,我必须注入,并且不能通过 有没有一种方法可以直接通过获取的值?

  • 问题内容: 我有一个枚举,看起来像: 我有一个看起来像的测试班 输出为: 代替 我不确定这里出什么问题了吗?? 问题答案: 您需要 重写枚举的方法:

  • 我想制作一个简单的共享按钮来获取TextView值并共享它,但我不知道怎么做。 代码如下: 而相关的布局是: 我在这里看了文档和一些类似的问题,但找不到我的答案。感谢你对此的帮助。

  • 我对函数返回有点困惑,我的目的是尽量避免复制。 我读了一些文档,告诉我不要使用reference作为map的值。 但在下面的代码中,我感到困惑。 哪一个最快?你认为哪一个是最好的?