是否有类似占位符的虚拟指针类型,当列数与 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)
}
最佳答案
没有,没有。
您必须传递一个指向值的指针。当然,您可以在 Scan 填充该值后忽略该值:
dummy := new(T) // creates a pointer to a zero-value object of type T
err := rows.Scan(dummy)
关于go - golang中是否有一个虚拟指针类型作为函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47957021/