一尘不染

如何将整数切片的字符串转换为整数切片?

go

例如输入:(类型:string

"[156, 100, 713]"

转换示例:(类型:的切片int

[156, 100, 713]

阅读 336

收藏
2020-07-02

共1个答案

一尘不染

除了mhutter的答案外,还请注意您的输入string看起来像一个JSON数组(也许是来自JSON文本?)。

如果您这样处理,则可以将其内容编组为一个[]int切片。直接解析其中的数字并不会更快(因为该encoding/json包使用了反射),但是它肯定更简单:

s := "[156, 100, 713]"

var is []int
if err := json.Unmarshal([]byte(s), &is); err != nil {
    panic(err)
}

fmt.Println(is)
fmt.Printf("%#v", is)

输出(在Go Playground上尝试):

[156 100 713]
[]int{156, 100, 713}
2020-07-02