我有一个字符串数组,其长度始终是2的倍数。
我想用这个数组创建一个地图,这样
myarr = ["key1", "val1", "key2", "val2", ...]
成为其中的地图
mymap := mapify(myarr)
mymap['key1'] == "val1"
mymap['key2'] == "val2"
在Python中,我可以使用以下代码进行操作
mymap = {}
for x, y in zip(*[iter(myarr)]*2):
mymap[x] = y
答案 0 :(得分:1)
您可以编写自己的函数,诸如此类:
package main
import (
"fmt"
)
var myarr = []string{"key1", "val1", "key2", "val2"}
func mapify(kv []string) map[string]string {
mymap := make(map[string]string)
for i := 0; i+1 <= len(kv); i = i + 2 {
mymap[kv[i]] = kv[i+1]
}
return mymap
}
func main() {
fmt.Println(myarr)
fmt.Println(mapify(myarr))
}
输出
[key1 val1 key2 val2] map[key1:val1 key2:val2]