将Postgresql数组直接读取到Golang Slice中
我有一个查询,该查询返回一行,其中一行包含一个字符串数组(character varying[]
):
{http://wp.me/p62MJv-Jc,http://tyrant.click/1LGBoD6}
有没有简单的方法可以直接将其读入Golang切片中?例如
var arr []stringfor 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