通常使用sql包下的scan()
方法获取数据,您必须像下面的代码一样传入每个字段的地址。现在,我想先取出数据并将其分配给结构。我们还能做什么?
我想通过切片获取scan()
的数据,但我无法事先知道有多少个字段。所以我不能这样。
s := make([]string,0,5) ` , `rows.scan(&s[0],&s[1]......)
我无能为力。
func Test(t *testing.T) {
people := obj{}
db, err := sql.Open("mysql", "dsn....")
if err != nil {
panic(err)
}
defer db.Close()
rows, err := db.Query("select ...")
rows.Scan(&people.name, &people.age)
}
我想将获取的数据放入映射或切片中并将其分配给结构。