如何在 Go 中扫描 SQL 数组到 []int64?

How to scan SQL array to []int64 in Go?

我正在从 Postgres DB 扫描一个 int 数组,它 returning 为 []uint8。我在 []int64 中需要它们,如何将它们转换为 []int64 或者如何从数据库 return 中将它们转换为 []int64?在我的查询中,我选择使用 Postgres 中的 Array 函数:Array(col1) where col1 is serial.

我得到的错误是:

unsupported Scan, storing driver.Value type []uint8 into type []int64

如果您使用 github.com/lib/pq,只需使用 Int64Array

col1arr := []int64{}
arr := pq.Int64Array{}
err := rows.Scan(&arr)
// ...
col1arr = []int64(arr)