我正在嘗試解析一個類似 json 的字符串,如下所示。"abc:9, bar:3"我希望最后得到的是map[string]int這樣的:map[string]int{"abc":9, "bar":3}我已經將它分成一組“對”,如下所示:`[“abc:9”,“條:3”]我正在努力思考如何將這種結構帶入決賽map[string]int。我嘗試過在切片上進行范圍調整,但我不知道如何將其實際放入地圖中。 val := "abc:9, bar:3" lsd := make(map[string]int) c := strings.Split(val, ",") for k, v := range c { lsd = v[k] // where I am struggling, I know this is wrong, but I can't seem to find the proper syntax and tools for this }誰能給我指出正確的方向,以最終得到我在這里尋找的map[string]int?
1 回答

嚕嚕噠
TA貢獻1784條經驗 獲得超7個贊
這有點俗氣,但我在制作 fmt.Sscanf 時遇到了困難,所以我只是再次分裂。而你可能已經錯過了strconv——strconv.Atoi一個快速轉換器。
package main
import (
"fmt"
"strconv"
"strings"
)
func main() {
lsd := make(map[string]int)
toParse := "abc:5, foo:5"
parts := strings.Split(toParse, ", ")
for _, p := range parts {
results := strings.SplitN(p, ":", 2)
val, err := strconv.Atoi(results[1])
if err != nil {
panic(err) //probably want to do somethig better
}
lsd[results[0]] = val
}
fmt.Printf("%#v", lsd)
}
地圖[字符串] int {“abc”:5,“foo”:5}
https://play.golang.org/p/UadibEzTXWU
- 1 回答
- 0 關注
- 156 瀏覽
添加回答
舉報
0/150
提交
取消