Я использую драйвер "gosnowflake" для запроса базы данных Snowflake из моего приложения Golang. Схема "снежинка": - НАЗВАНИЕ СТРОКА ВОЗРАСТ Целочисленный массив LOCS
Код Голанга: -
package main
import (
"database/sql"
"fmt"
"log"
"strings"
_ "github.com/snowflakedb/gosnowflake"
)
type Person struct {
Name string
Age string
Locs []string
}
var DB *sql.DB
func main() {
connString := "USER" + ":" + "PWD" + "@" + "REGION" + "/" + "TEST"
fmt.Println("DB Connection string..", connString)
DB, _ = sql.Open("snowflake", connString)
defer DB.Close()
QRY := "SELECT NAME,AGE,LOCS FROM TEST.PERSON WHERE NAME='abc'"
result, _ := DB.Query(QRY)
fmt.Println(result)
for result.Next() {
var row Person
err := result.Scan(&row.Name, &row.Age, &row.Locs)
if err != nil {
log.Fatal(err)
}
fmt.Println("Before returning..", row)
}
}
Проблема: - Проблема здесь в LOCS БД в массиве, но при запросе из кода golang он возвращается в виде строки. поэтому значения похожи на
[
"XYZ",
"DEF"
]
Я хочу напрямую преобразовать значения LOCS в массив в моем коде golang. Итак, внутри структуры Person он напрямую связывается со строкой Loc [].