是否存在类似占位符的虚拟指针类型,如果列数与golang中的rows.Scan()中的args数不匹配,则不允许为rows.Scan()创建额外的变量。
rows, err := db.Query(`SELECT 1, 2, 3`)
for rows.Next() {
var c1 int
var c2 int
// panic (number of arguments mismatch)
err = rows.Scan(&c1, &c2)
// syntax error
err = rows.Scan(&c1, &c2, _)
// Scan error on column index 2: destination not a pointer
err = rows.Scan(&c1, &c2, nil)
}
答案 0 :(得分:0)
不,没有。
您必须将指针传递给值。当然,您可以在Scan:
填充之后忽略该值dummy := new(T) // creates a pointer to a zero-value object of type T
err := rows.Scan(dummy)