При кросс-компиляции моего кода из Win10 в Linux следующий код перестал использовать rows.next
executed rows.Next()
rows, err := DB.Query("SELECT * FROM `machines`")
erh.Check(err)
newUsers := make(map[string]User, count)
defer erh.Check(rows.Close())
for rows.Next() {
//tu is temp user
tu := User{}
err := rows.Scan(&tu.Id, &tu.Name, &tu.Apikey, &tu.Ip, &tu.Machine, &tu.State, &tu.DbAvailable)
erh.Check(err)
log.Println(tu)
newUsers[tu.Apikey] = tu
}
Когда я поместил отсрочку под rows.Next был выполнен код rows.next
rows, err := DB.Query("SELECT * FROM `machines`")
erh.Check(err)
newUsers := make(map[string]User, count)
for rows.Next() {
//tu is temp user
tu := User{}
err := rows.Scan(&tu.Id, &tu.Name, &tu.Apikey, &tu.Ip, &tu.Machine, &tu.State, &tu.DbAvailable)
erh.Check(err)
log.Println(tu)
newUsers[tu.Apikey] = tu
}
defer erh.Check(rows.Close())
Может кто-нибудь подтвердить, что это ошибка, или я что-то здесь упускаю?