Go 成对迭代字符串数组以创建映射
我有一个字符串数组,其长度总是2的倍数 我想用这个数组创建一个映射,这样Go 成对迭代字符串数组以创建映射,go,Go,我有一个字符串数组,其长度总是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 您可以
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
您可以编写自己的函数,类似于:
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))
}
这个怎么样:@vahdet是的!措辞是我的问题,我不会发现这个问题。啊,很好,所以迭代类似于在C中完成的方式。你会发现,在这方面,go通常与C类似。主要区别在于语法更现代,标准库更好
[key1 val1 key2 val2]
map[key1:val1 key2:val2]