例如,最终字符串应类似于LOG_LEVEL="x"API_KEY="y"地图m := map[string]string{ "LOG_LEVEL": "x", "API_KEY": "y", }解决方案我了解您需要在代表一个地图条目的每一行上使用一些key = value对. P.S.您刚刚更新了问题,我看到您仍然需要在值两边加上引号,所以引号就来了package mainimport ( "bytes" "fmt")func createKeyValuePairs(m map[string]string) string { b := new(bytes.Buffer) for key, value := range m { fmt.Fprintf(b, "%s=\"%s\"\n", key, value) } return b.String()}func main() { m := map[string]string{ "LOG_LEVEL": "DEBUG", "API_KEY": "12345678-1234-1234-1234-1234-123456789abc", } println(createKeyValuePairs(m))}工作示例:去游乐场 I am trying to find the best way to convertmap[string]string to type string . I tried converting to json with marshall to keep the format and then converting back to string but this was not successful. More specifically I am trying to convert a map containing keys and vals to a string to accommodate https://www.nomadproject.io/docs/job-specification/template.html#environment-variables https://github.com/hashicorp/nomad/blob/master/nomad/structs/structs.go#L3647For example the final string should be like LOG_LEVEL="x"API_KEY="y"The map m := map[string]string{ "LOG_LEVEL": "x", "API_KEY": "y", } 解决方案 I understand you need some key=value pair on each line representing one map entry.P.S. you just updated your question and i see you still need quotes around the values, so here come the quotespackage mainimport ( "bytes" "fmt")func createKeyValuePairs(m map[string]string) string { b := new(bytes.Buffer) for key, value := range m { fmt.Fprintf(b, "%s=\"%s\"\n", key, value) } return b.String()}func main() { m := map[string]string{ "LOG_LEVEL": "DEBUG", "API_KEY": "12345678-1234-1234-1234-1234-123456789abc", } println(createKeyValuePairs(m))}Working Example:Go Playground 这篇关于在golang中将地图转换为字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
07-25 04:52