回答

收藏

如何将数据库行转换为结构

技术问答 技术问答 236 人阅读 | 0 人回复 | 2023-09-12

假设我有一个结构:* r9 Z3 X: ?$ Y; Z
    type User struct    Name  string    Id    int    Score int}
    " Y' [& v5 d: c. Z/ M4 z
以及具有相同架构的数据库表。将数据库行分析为结构的最简单方法是什么?我在下面添加了一个答案,但我不确定它是最好的答案。
% r8 y$ _9 |8 `3 u  H; M0 O2 O$ b( C+ y                                                                - p3 Z$ N* {2 T
    解决方案:                                                                # c" D9 B# H+ U8 _8 N( X
                                                                这是一种方法 - 只需在Scan所有结构值在函数中手动分配。
, z) J! C6 M3 U
    func getUser(name string) (*User,error)    var u User    // this calls sql.Open,etc.    db := getConnection()    // note the below syntax only works for postgres    err := db.QueryRow("SELECT * FROM users WHERE name = $1",name).Scan(&u.Id,&u.Name,&u.Score)    if err != nil        return &User{},err   else        return &u,nil    }}
    . ^! O) u: W8 M5 Y! x
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则