Как уже указывалось @mkopriva, это можно сделать с помощью метода StringArray
или с помощью более гибкого метода Array
(так как он принимает интерфейс в качестве аргумента), оба из которых находятся в пакете "github.com/lib/pq"
.
Кроме того, рекомендуется использовать подготовленные заявления.
Полный пример:
var id int
var username string
var activities []string
sqlStatement := `
SELECT
id,
username,
activities
FROM
users
WHERE
id = $1
`
stmt, err := db.Prepare(sqlStatement)
if err != nil {
// handle err
}
defer stmt.Close()
row := stmt.QueryRow(1)
err = row.Scan(
&id,
&username,
pq.Array(&activities) // used here
)
if err == sql.ErrNoRows {
// handle err
}
if err != nil {
// handle err
}