将Postgresql数组直接读取到Golang Slice中

我有一个查询,该查询返回一行,其中一行包含一个字符串数组(character varying[]):

{http://wp.me/p62MJv-Jc,http://tyrant.click/1LGBoD6}

有没有简单的方法可以直接将其读入Golang切片中?例如

var arr []string

for rows.Next() {

rows.Scan(&arr)

fmt.Println(len(arr))

}

产生:

0

回答:

正如Victor在原始帖子的评论中提到的那样,该帖子以的解释很好地回答了这个问题pq.Array()

直接从链接中获取:

要将Postgres数组值读入Go切片,请使用:

func getTags(db *sql.DB, title string) (tags []string) {

// the select query, returning 1 column of array type

sel := "SELECT tags FROM posts WHERE title=$1"

// wrap the output parameter in pq.Array for receiving into it

if err := db.QueryRow(sel, title).Scan(pq.Array(&tags)); err != nil

{

log.Fatal(err)

}

    return

}

我也已经在自己的项目中使用了此功能,因此可以确认它是否有效。

以上是 将Postgresql数组直接读取到Golang Slice中 的全部内容, 来源链接: utcz.com/qa/409804.html

回到顶部