哈喽!大家好,很高兴又见面了,我是GOLANG的一名作者,今天由我给大家带来一篇
《如何将 db.QueryRow(sql).Scan 结果扫描至 map?》,本文主要会讲到
等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!,
,
利用 db.queryrow(sql).scan 将结果集扫描至 map,在 go 中,db.queryrow(sql).scan 只能将结果集扫描至变量指针,而无法直接扫描至 map。以下示例会提示扫描目标不是指针的错误:,为了解决这个问题,需要对 map 进行初始化以提供指针:,这样,res 中的每一个值都将成为一个指针,指向实际数据。然后,db.queryrow(sql).scan 就可以将结果集扫描至 res 中。,修改后的示例:,今天关于《如何将 db.QueryRow(sql).Scan 结果扫描至 map?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在GOLANG公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!,利用 db.queryrow(sql).scan 将结果集扫描至 map,哈喽!大家好,很高兴又见面了,我是GOLANG的一名作者,今天由我给大家带来一篇
《如何将 db.QueryRow(sql).Scan 结果扫描至 map?》,本文主要会讲到
等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!,
当前位置: > > > > 如何将 db.QueryRow(sql).Scan 结果扫描至 map?
如何将 db.QueryRow(sql).Scan 结果扫描至 map?
2024-11-07 18:28:04
0浏览
收藏
哈喽!大家好,很高兴又见面了,我是GOLANG的一名作者,今天由我给大家带来一篇《如何将 db.QueryRow(sql).Scan 结果扫描至 map?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!
利用 db.queryrow(sql).scan 将结果集扫描至 map
在 go 中,db.queryrow(sql).scan 只能将结果集扫描至变量指针,而无法直接扫描至 map。以下示例会提示扫描目标不是指针的错误:
res := map[string]*interface{}{"id": nil, "name": nil, "password": nil, "add_time": nil} sql := "select * from test where id = ?" err := db.queryrow(sql, id).scan(res["id"], res["name"], res["password"], res["add_time"])
为了解决这个问题,需要对 map 进行初始化以提供指针:
res := map[string]*interface{}{ "id": new(int), "name": new(string), "password": new(string), "add_time": new(int), }
这样,res 中的每一个值都将成为一个指针,指向实际数据。然后,db.queryrow(sql).scan 就可以将结果集扫描至 res 中。
修改后的示例:
func selectOne(id int) { res := map[string]*interface{}{ "id": new(int), "name": new(string), "password": new(string), "add_time": new(int), } sql := "select * from test where id = ?" err := db.QueryRow(sql, id).Scan(res["id"], res["name"], res["password"], res["add_time"]) if err != nil { fmt.Println("获取数据失败:", err.Error()) } else { fmt.Println(res) } }
今天关于《如何将 db.QueryRow(sql).Scan 结果扫描至 map?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在GOLANG公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!
- Mac 上运行 `go run main.go` 频频弹出警告?如何解决?
- Python 中的 unittest 框架测试时遇到 AttributeError 异常怎么办?