登录
首页 >  Golang >  Go问答

使用map[interface{}]创建字符串

来源:stackoverflow

时间:2024-02-07 15:00:25 137浏览 收藏

golang学习网今天将给大家带来《使用map[interface{}]创建字符串》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

data := map[string]interface{}{
            "username":       'username1',
            "password":       'password1'
        }

我有一个map[string]interface{}数据,我想形成一个如下所示的字符串

str = "用户名='用户名1',密码='密码1'"

如何形成像上面这样的字符串,即 key1='value1', key2='value2'....

我是 golang 新手 我尝试了append(),但遇到了诸如无法将[]string追加到变量类型字符串

之类的问题

正确答案


你尝试过什么吗?有很多方法可以完成您想做的事情。有些比其他更有效,有些更容易编写......这将是实现您需要的快速方法:

func printstr(m map[string]interface{}) {
    parts := make([]string, 0, len(m))
    for k, v := range m {
        parts = append(parts, fmt.sprintf("%s=%v", k, v))
    }
    fmt.printf("%s\n", strings.join(parts, ";"))
}

数据范围。如果不是先加逗号。写入密钥。写=。写入值。

data := map[string]interface{}{
    "username": "username1",
    "password": "password1",
}
var sb strings.Builder
for k, v := range data {
    if sb.Len() > 0 {
        sb.WriteString(", ")
    }
    sb.WriteString(k)
    sb.WriteString(`="`)
    sb.WriteString(fmt.Sprint(v))
    sb.WriteString(`"`)
}
s := sb.String()
fmt.Println(s)

今天关于《使用map[interface{}]创建字符串》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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