Golang中如何将字符串转换为int数组?

问题描述 投票:0回答:2

我有一个像这样的字符串:

foo := "[1,2,3,4,5]"

如何解析这个字符串并将其转换为 []int?

[1,2,3,4,5]

就像我要像这样初始化数组一样:

foo := []int{1,2,3,4,5}
arrays go parsing type-conversion
2个回答
0
投票

最简单的可能是

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)
}

0
投票

没有一步转换。但由于您的输入“符合”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]
© www.soinside.com 2019 - 2024. All rights reserved.