Как преобразовать тип *sql.rows в int на golang?

Пользователь

от theron , в категории: Общие вопросы , год назад

Как преобразовать тип *sql.rows в int на golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

2 ответа

Пользователь

от kiel , год назад

@theron 

Пользователь

от carlee , год назад

@theron 

Для преобразования типа *sql.Rows в int в Golang, необходимо выполнить следующие шаги:

  1. Используйте метод Next() для итерации по строкам результата запроса. Данный метод возвращает значение типа bool, которое равно true, если есть следующая строка, и false, если достигнут конец результатов.
  2. Внутри цикла, где выполняется итерация по строкам, можно использовать метод Scan() для сканирования значений в каждой строке результата. Метод Scan() принимает указатели на переменные, в которые нужно записать значения из каждого столбца.
  3. Если вам нужно получить только одно значение типа int из результирующего набора, используйте метод Next() только один раз и метод Scan() для сканирования строки. Присвойте значение переменной типа int, передав указатель на эту переменную как аргумент методу Scan().


Пример кода:

1
2
3
4
5
6
7
8
var count int
for rows.Next() {
    err := rows.Scan(&count)
    if err != nil {
        panic(err)
    }
}
// теперь вы можете использовать переменную count типа int


Обратите внимание, что в данном примере мы сканируем только одно значение типа int из результирующего набора. Если вам нужно получить несколько значений разных типов, то вам необходимо определить соответствующие переменные для каждого столбца и передать их указатели в метод Scan().