Go语言db.QueryRow().Scan如何将数据库查询结果映射到map中?

go语言db.queryrow().scan如何将数据库查询结果映射到map中?

Go语言数据库操作:巧妙地将db.QueryRow().Scan结果映射到map

本文介绍如何使用Go语言的db.QueryRow(sql).Scan函数将数据库查询结果高效地映射到map中。许多开发者在尝试直接映射时会遇到“不是一个指针”的错误,本文将深入剖析原因并提供最佳实践。

问题:直接映射失败

尝试将db.QueryRow(sql).Scan的结果直接赋值给预定义的map时,常常会遇到错误提示“不是一个指针”。如下代码所示:

立即学习“go语言免费学习笔记(深入)”;

func selectOne(id int) {    res := map[string]*interface{}{"id": nil, "name": nil, "password": nil, "add_time": nil}    fmt.Println(res)    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)    } else {        fmt.Println(res)    }}

登录后复制

本文来自互联网或AI生成,不代表软件指南立场。本站不负任何法律责任。

如若转载请注明出处:http://www.down96.com/tutorials/3563.html

热心网友热心网友
上一篇 2025-04-11 14:45
下一篇 2025-04-11 14:45

相关推荐

本站[软件指南]所有内容来自互联网投稿或AI智能生成,并不代表软件指南的立场。