我希望了解如何将我在psql数据库中的数组varchar转换为go中的数组字符串,以便在JSON中呈现。实际上,我是这样做的:在创建表时,我创建了以下列:
当我在golang中使用select请求获取数据时:
所以我应用了我的变量rowstag的函数。
当我渲染具有var标签的结构体时,会得到这个结果。
当然,我很喜欢它。
tags varchar(50)[] default NULL
当我在golang中使用select请求获取数据时:
var rowtags []uint8
err = rows.Scan(&rowtags)
if err != nil {
log.Fatal(err)
}
我尝试编写一个函数,将 uint8[] 转换为 string[]。
func Uint8toString(array []uint8) []string {
var ret = make([]string, len(array))
for i := 0; i < len(array); i++{
ret[i] = string(array[i])
}
return (ret)
}
所以我应用了我的变量rowstag的函数。
var tags := Uint8toString(rowtags)
当我渲染具有var标签的结构体时,会得到这个结果。
"Tags": [
"{",
"#",
"c",
",",
"#",
"c",
",",
"#",
"c",
"o",
"u",
"c",
"o",
"u",
",",
"#",
"c",
"d",
"}"
],
当然,我很喜欢它。
"Tags": [
"#c",
"#c",
"#coucou",
"#cd"
],
感谢您的帮助,我学习Go语言还不久,但是我找不到解决方案。
sql: Scan error on column index 0: unsupported Scan, storing driver.Value type []uint8 into type *[]string
。Scan将从数据库读取的列转换为仅包含Go常见类型的子集,其中不包括[]string。 - Ludi Rehak