我正在尝试找到转换的最佳方法
map[string]string键入字符串。我尝试使用marshall转换为json以保留格式,然后转换回字符串,但这未成功。更具体地说,我正在尝试将包含键和值的映射转换为字符串以容纳https://www.nomadproject.io/docs/job- specification/template.html#environment-variables https://github.com/hashicorp /nomad/blob/master/nomad/structs/structs.go#L3647
map[string]string
例如,最后一个字符串应该像
LOG_LEVEL="x" API_KEY="y"
地图
m := map[string]string{ "LOG_LEVEL": "x", "API_KEY": "y", }
我了解您在代表一个地图条目的每一行上都需要一些key = value对。
PS,您刚刚更新了问题,我看到您仍然需要在值两边加上引号,所以引号来了
package main import ( "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)) }
工作示例: 去游乐场