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