假设我有一个结构:
type User struct { Name string Id int Score int }
与数据库表具有相同的架构。将数据库行解析为结构的最简单方法是什么?我在下面添加了一个答案,但是我不确定这是最好的答案。
这是一种实现方法-只需在Scan函数中手动分配所有结构值即可。
Scan
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 } }