-2

我有一个字符串数组,其长度始终是 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
4

1 回答 1

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]

在这里试试

于 2019-02-11T11:12:37.090 回答