登录
首页 >  Golang >  Go问答

将 map[interface {}]interface {} 转换为 map[string]string

来源:Golang技术栈

时间:2023-03-08 16:43:55 184浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《将 map[interface {}]interface {} 转换为 map[string]string》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

从我无法影响的来源,我在地图中获得了数据,该数据以map[interface {}]interface {}.

我需要处理包含的数据,最好是map[string]string(其中的数据非常适合)。

我还需要从数据中生成一个键列表,因为这些是事先不知道的。

我在网上可以找到的大多数类似问题或多或少都说这是不可能的,但如果我的地图是m,则fmt.Println(m)显示数据在那里,可读为map[k0:v0 K1:v1 k2:v2 ... ]

我该如何做 fmt.Println 能够做的事情?

正确答案

一种处理未知接口的安全方法,只需使用 fmt.Sprintf()

https://play.golang.org/p/gOiyD4KpQGz

package main

import (
    "fmt"
)

func main() {

    mapInterface := make(map[interface{}]interface{})   
    mapString := make(map[string]string)

    mapInterface["k1"] = 1
    mapInterface[3] = "hello"
    mapInterface["world"] = 1.05

    for key, value := range mapInterface {
        strKey := fmt.Sprintf("%v", key)
        strValue := fmt.Sprintf("%v", value)

        mapString[strKey] = strValue
    }

    fmt.Printf("%#v", mapString)
}

文中关于golang的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《将 map[interface {}]interface {} 转换为 map[string]string》文章吧,也可关注golang学习网公众号了解相关技术文章。

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