【发布时间】:2017-03-03 16:58:14
【问题描述】:
我有一个字符串:-["a","b","c"]。如何解析/将其转换为 Go 数组?我可以进行字符串解析,但是 Go 中是否有任何开箱即用的功能。
【问题讨论】:
标签: arrays string parsing go slice
我有一个字符串:-["a","b","c"]。如何解析/将其转换为 Go 数组?我可以进行字符串解析,但是 Go 中是否有任何开箱即用的功能。
【问题讨论】:
标签: arrays string parsing go slice
用json.Unmarshal()怎么样?
s := `["a","b","c"]`
var arr []string
if err := json.Unmarshal([]byte(s), &arr); err != nil {
fmt.Println("Error:", err)
}
fmt.Printf("%q", arr)
输出(在Go Playground上试试):
["a" "b" "c"]
但是要知道 json 包在底层做了很多反射功夫,如果你自己编写解析会更快。另一方面,json 包也会处理输入中的随机空格——甚至是换行符和 Unicode 序列,比如这个(相当于["a","b","c"]):
s := `[ "a" , "b"
,"\u0063" ] `
【讨论】: