登录
首页 >  Golang >  Go问答

使用字符串数组进行成对迭代以建立映射

来源:stackoverflow

时间:2024-03-07 21:30:25 277浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《使用字符串数组进行成对迭代以建立映射》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

问题内容

我有一个字符串数组,其长度始终是二的倍数。

我想用这个数组创建一个地图,这样

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))
}

输出

[key1 val1 key2 val2]
map[key1:val1 key2:val2]

Try it here

本篇关于《使用字符串数组进行成对迭代以建立映射》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>