В Документах Go SQL они дают пример here из запроса, который возвращает только один столбец (плохой пример, на мой взгляд, по крайней мере возвращения 2 ...)Go Использование db.Query вернуть более одного столбца
age := 27
rows, err := db.Query("SELECT name FROM users WHERE age=?", age)
if err != nil {
log.Fatal(err)
}
for rows.Next() {
var name string
if err := rows.Scan(&name); err != nil {
log.Fatal(err)
}
fmt.Printf("%s is %d\n", name, age)
}
if err := rows.Err(); err != nil {
log.Fatal(err)
}
Состояние документов here, что Сканирование копирует столбцы в текущей строке в значения, указанные в dest.
Как это работает с структурой, позволяет сказать, у меня есть на структуру
type User struct{
Name string
Age int
}
и я изменить мой запрос SELECT name, age from users where age=?
Как распаковать * Ряды в мои структуры? Я действительно нашел пример this, но он не касался структур. Я буду следовать за соглашениями о шаблонах Active Record, поэтому мои структуры будут отображаться в моей базе данных с помощью преобразования кода змеи.
https://github.com/jmoiron/sqlx может помочь упростить это. – elithrar
@elithrar спасибо, что я искал – Lee