如何从数据库行创建Golang地图?

  • 回答 (3)
  • 关注 (0)
  • 查看 (39)

基本上,在执行查询之后,我希望获取结果行并生成一个[]map[string]interface{},但是我不知道如何使用API来实现这一点,因为Rows.Scan()函数需要与请求的列数(可能还包括类型)匹配的特定数量的参数才能正确获取数据。

再次,我想泛化这个调用,并接受任何查询并将其转换为[]map[string]interface{},其中映射包含映射到该行值的列名。

这可能非常低效,我计划稍后更改结构,以便interface{}是单个数据点的结构。

我如何使用数据库/SQL包,或者如果必要的话使用数据库/SQL/驱动程序包?

袁弋雯袁弋雯提问于
英特奈特见贤思齐回答于
已采纳

看看使用sqlx,它可以比标准数据库/SQL库更容易地做到这一点:

places := []Place{}
err := db.Select(&places, "SELECT * FROM place ORDER BY telcode ASC")
if err != nil {
    fmt.Printf(err)
    return
}

显然你可以代替[]Place{}带着[]map[string]interface{},但如果知道数据库的结构,则最好使用结构。不需要执行任何类型的断言,就像在interface{}...

回答过的其他问题

Nginx的https问题?

英特奈特见贤思齐
这个是我在用的配置可以参考下 server { listen 443; server_name www.youname.com; ssl on; ssl_certificate /SSH/1_www.youname.com_bundle.crt; ssl_certificat...... 展开详请

Bootstrap垂直对齐属性不起作用?

英特奈特见贤思齐
垂直中心与高度有关。在你的例子中,所有的兄弟列都是相同的高度,所以你不会看到任何对齐的变化。 无论是.row需要有一个定义的高度,或列中的一些内容导致该行有更多的高度。 <div class="container"> <div class="row" style="he...... 展开详请

腾讯云的域名价格究竟是多少?该怎么计算?

英特奈特见贤思齐
不同的域名后缀价格有所不同,可登录腾讯云官网首页->云产品->域名服务->域名注册,进入域名注册服务页面,点“域名价格”,就可以查看到不同后缀的域名新购、续费、转入的价格。请参见下图:[图片描述]... 展开详请

Facebook-WordPress评论/反馈整合

英特奈特见贤思齐
你需要去博客的来源,找出评论表格的发布方式(POST或GET)然后你可以在这里使用mock ajax 文档。然后在facebook应用程序中,您构建一个类似于博客评论的表单。确保各个表单元素的所有ID都相同。然后在你的提交按钮上你有这样的链接。 <a clickrewrite...... 展开详请

graphQL查询中的变量

英特奈特见贤思齐
因此,要传递变量,必须使用以下语法 graphql(`<your_query_with_variable>`, { indexPage: <value_of_variable> }) 所以查询将会是这样的 export const query = grapqhl( `que...... 展开详请

将Facebook帖子嵌入到wordpress网站是行不通的

英特奈特见贤思齐

在WordPress中嵌入facebook帖子,你不需要任何插件,只需点击任何facebook帖子的角落并点击嵌入,获取代码并将其粘贴到任何帖子的文本区域的代码中,或者你可以也使用html小部件嵌入侧边栏。

扫码关注云+社区