我有一个像这样的字符串:
foo := "[1,2,3,4,5]"
如何解析这个字符串并将其转换为 []int?
[1,2,3,4,5]
就像我要像这样初始化数组一样:
foo := []int{1,2,3,4,5}
最简单的可能是
https://go.dev/play/p/1-I71mQr3A7
import (
"encoding/json"
"fmt"
)
func main() {
foo := "[1,2,3,4,5]"
var data []int
json.Unmarshal([]byte(foo), &data)
fmt.Println(data)
}
没有一步转换。但由于您的输入“符合”JSON 数字数组,因此您可以使用
encoding/json
来解析它,如下所示:
foo := "[1,2,3,4,5]"
var is []int
if err := json.Unmarshal([]byte(foo), &is); err != nil {
fmt.Println("Failed:", err)
}
fmt.Println("parsed:", is)
这将输出(在Go Playground上尝试一下):
parsed: [1 2 3 4 5]