【问题标题】:I can't assign data to []map[string]interface{}我无法将数据分配给 []map[string]interface{}
【发布时间】:2018-04-11 18:46:53
【问题描述】:

我想为gorm准备条件数据。

email := c.Query("email")
count := c.Query("count")

filters := []map[string]interface{}{
    {"email": email},
    {"count": count},
}

我可以在 c.Query() 行获取数据。

在进程“过滤”变量的赋值行之后,我在调试时看到这些值是空的。

【问题讨论】:

  • []map[string]interface{} 是字符串到接口的映射切片。切片中的每个元素都是一个映射。你到底想在这里完成什么?
  • 我实际上是在尝试将数据分配给过滤器变量。
  • 是的,这很清楚。 filters 真的应该是一张地图吗?它是如何使用的?你如何决定其中有多少张地图,以及哪些值进入切片中的哪些地图?
  • 过滤器[0]["email"] = "a@a.com",过滤器[0]["count"] = 10
  • 我要确定有多少张地图和哪些值。

标签: go interface slice go-gorm


【解决方案1】:

当我想你想要一个 map[string]interface{}(没有切片)时,你正在制作一个 map[string]interface{} 的切片,如果是这种情况,你需要这样的东西:

filters := map[string]interface{}{
    "email": email,
    "count": count,
}

【讨论】:

    猜你喜欢
    • 2021-08-30
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 2019-09-05
    • 2021-12-09
    • 1970-01-01
    • 2021-05-26
    相关资源
    最近更新 更多