Я использую драйвер "gosnowflake" для запроса Snowflake DB из моего приложения Golang.Схема снежинки: - ИМЯ STRING AGE INTEGER LOCS ARRAY
Код Голанга: -
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)
}
}
Проблема: - Проблема здесь в DB LOCS в массиве, но при запросе из кода Голангавозвращается в виде строки.поэтому значения имеют вид
[
"XYZ",
"DEF"
]
. Я хочу напрямую преобразовать значения LOCS в массив в моем коде golang.Таким образом, внутри структуры Person она напрямую связывается со строкой Loc [].