type User struct {
id int
name string
mobile string
}
func selectOne() {
var u User
sql := "select id ,name,mobile from user where id=?"
row := db.QueryRow(sql, 10)
err := row.Scan(&u.id, &u.name, &u.mobile)
if err != nil {
fmt.Printf("scan error %v", err)
return
}
fmt.Printf("id :%d ,name:%v ,mobile:%v", u.id, u.name, u.mobile)
}
这里为什么获取row后再去Scan扫描呢?
因为如果直接取db.Query().Scan, 持有的数据库连接不会被释放掉