golang 字符串转map?

1. 将下面字符串拆解成 map 其中某(键值)可能会不存在 (Lsize= ) 后面是多个空格

frame= 425 fps= 71 q=-1.0 Lsize= 5158kB time=00:00:17.11 bitrate=2468.7kbits/s dup=1 drop=0 speed=2.84x

写出你的实现方法

第1个回答  2023-02-09
您可以使用 Go 语言的 "strings" 包中的 "Split" 函数将字符串拆分为键值对,然后使用 "map" 数据类型存储这些键值对。
下面是代码示例:
package main
import (
"fmt"
"strings"
)
func main() {
str := "frame= 425 fps= 71 q=-1.0 Lsize= 5158kB time=00:00:17.11 bitrate=2468.7kbits/s dup=1 drop=0 speed=2.84x"
m := make(map[string]string)
pairs := strings.Split(str, " ")
for _, pair := range pairs {
kv := strings.Split(pair, "=")
if len(kv) == 2 {
m[kv[0]] = kv[1]
}
}
fmt.Println(m)
}
运行上述代码后,您将得到一个存储字符串中的键值对的 "map" 对象。如果键值对不存在,则不会将它们存储到 "map" 中。
相似回答