在 Golang 中,可以使用 database/sql 包来执行 SQL 查询,并将结果填充到对象中。以下是一个示例代码:
// 定义一个结构体表示记录type User struct {ID intUsername stringEmail string}// 执行查询并填充到对象中func getUserById(id int) (*User, error) {// 打开数据库连接db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname")if err != nil {return nil, err}defer db.Close()// 执行查询row := db.QueryRow("SELECT id, username, email FROM users WHERE id = ?", id)// 将查询结果填充到对象中var user Usererr = row.Scan(&user.ID, &user.Username, &user.Email)if err != nil {return nil, err}return &user, nil}
在上面的代码中,我们定义了一个 User 结构体来表示用户记录,然后使用 db.QueryRow 函数执行查询并返回一行记录。接着,我们使用 row.Scan 函数将查询结果填充到 User 对象中。
需要注意的是,在使用 Scan 函数填充对象时,要确保对象字段的类型与查询结果一致,否则会出现类型错误。




