登录
首页 >  Golang >  Go问答

如何将字节映射转换为接口映射{}

来源:stackoverflow

时间:2024-02-16 20:36:16 238浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《如何将字节映射转换为接口映射{}》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我有一个函数,除了类型为map[string]interface{}的参数,但我有类型为map[string][]byte的变量。我的问题是如何在 Go 中将 map[string][]byte 转换为 map[string]interface{}。


解决方案


这是 go 中常见的错误期望。在这种情况下,地图的每个元素都需要转换为接口。 因此,这是示例代码的解决方法:

func foo(arg map[string]interface{}){
    fmt.Println(arg)
}

// msaToMsi convert map string array of byte to map string interface
func msaToMsi(msa map[string][]byte) map[string]interface{}{
    msi := make(map[string]interface{}, len(msa))
   for k, v := range msa {
       msi[k] = v
    }
    return msi
}

func main() {
    msa := map[string][]byte{"a": []byte("xyz")}
    foo(msaToMsi(msa))
}

对于以下映射或数组转换,解决方案也类似: map[字符串]字符串map[字符串]接口{} []字符串[] 接口 {} 等等..

以上就是《如何将字节映射转换为接口映射{}》的详细内容,更多关于的资料请关注golang学习网公众号!

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