1 回答

TA貢獻1808條經驗 獲得超4個贊
以下是如何在不顯式聲明行中值的變量的情況下掃描行。
為值做一個切片。用這些值的地址做一個切片。掃描到地址。
func example(db *sql.DB, query string) {
rows, err := db.Query(query)
if err != nil {
log.Fatal(err)
}
cols, err := rows.Columns()
if err != nil {
log.Fatal(err)
}
addrs := make([]any, len(cols))
for rows.Next() {
values := make([]any, len(cols))
for i := range addrs {
addrs[i] = &values[i]
}
rows.Scan(addrs...)
if err != nil {
log.Fatal(err)
}
// The variable values contains the row values.
// Here's an example of how to use the values.
// Replace the for loop with your code to
// process the row.
for i := range cols {
fmt.Printf("%s: %v\n", cols[i], values[i])
}
}
}
- 1 回答
- 0 關注
- 134 瀏覽
添加回答
舉報