从字符串值更新map[string]int

我正在尝试解析一个类似 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?


元芳怎么了
浏览 192回答 1
1回答

噜噜哒

这有点俗气,但我在制作 fmt.Sscanf 时遇到了困难,所以我只是再次分裂。而你可能已经错过了strconv——strconv.Atoi一个快速转换器。package mainimport (    "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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go