我想知道什么是最优雅的方式来编写一个键值表 编码地图到http.ResponseWriter。如何优雅或有效地写一个地图到http.ResponseWriter
Respond(kv map[string]string) {
for key, value := range kv {
fmt.Fprintf(a.w, "%s:%s\n", key, value)
}
}
我必须遵循该键值格式:
键值形成编码
在关键值形式的消息是线的序列。每行用一个键开始 ,后跟一个冒号,以及与 键相关联的值。该行由一个换行符终止(UCS代码点10, “\ n”)。一个键或值不能包含一个换行符,而且一个键也不能包含冒号。
不得在 之前或冒号或换行符后面添加其他字符,包括空格。该消息必须以UTF-8编码为 产生一个字节字符串。
我想过使用编码/ csv,但不是有点矫枉过正?
编辑:到目前为止我想出了。 (感谢所有的建议答案)
http://godoc.org/github.com/kugutsumen/encoding/keyvalue
https://github.com/kugutsumen/encoding/tree/master/keyvalue
我没有使用http.HandleFunc :)我一直在寻找的东西效率比调用fmt.Fprintf问题...... – Kugutsumen
我已经编辑我的答案使用'bytes'包而不是'fmt'包。它可能更接近你想要的。 – Intermernet
你也可以使用'strings'包来实现相同的功能。 – Intermernet