Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查询数据库时如何将雪花数组转换为Golang中的数组_Go_Snowflake Cloud Data Platform - Fatal编程技术网

查询数据库时如何将雪花数组转换为Golang中的数组

查询数据库时如何将雪花数组转换为Golang中的数组,go,snowflake-cloud-data-platform,Go,Snowflake Cloud Data Platform,我正在使用“gosnowflake”驱动程序从我的Golang应用程序中查询雪花数据库。 雪花模式:- 名称字符串 年龄整数 LOCS阵列 戈朗代码:- package main import ( "database/sql" "fmt" "log" "strings" _ "github.com/snowflakedb/gosnowflake" ) type Person struct { Name string Ag

我正在使用“gosnowflake”驱动程序从我的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)
    }


}
问题:-此处的问题存在于数组中的DB LOC中,但在从golang代码查询时,它会以字符串形式返回。所以这些值是

[
   "XYZ",
   "DEF"
]

我想要的是直接将LOCS值转换为我的golang代码中的数组。因此,在Person结构内部,它直接绑定到Loc[]string。

除非gosnowflake中已经有内置的字符串数组类型,否则您可能需要实现自己的类型,该类型遵循

e、 g

那么您的
人员
结构将是:

type Person struct {
    Name string
    Age  string
    Locs ArrayString
}

已经有一段时间了,但是@dks551你能找到解决这个问题的方法吗?
type Person struct {
    Name string
    Age  string
    Locs ArrayString
}