キー値フォームでエンコードされたマップを http.ResponseWriter に書き込む最もエレガントな方法は何だろうと思っていました。
Respond(kv map[string]string) {
for key, value := range kv {
fmt.Fprintf(a.w, "%s:%s\n", key, value)
}
}
この Key-Value 形式に従う必要があります。
Key-Value フォーム エンコーディング
Key-Value 形式のメッセージは一連の行です。各行はキーで始まり、コロンとキーに関連付けられた値が続きます。行は単一の改行 (UCS コードポイント 10、「\n」) で終了します。キーまたは値に改行を含めてはならず、キーにコロンを含めてはなりません。
空白を含む追加の文字は、コロンまたは改行の前後に追加してはなりません。バイト文字列を生成するには、メッセージを UTF-8 でエンコードする必要があります。
encoding/csv を使おうと思ったのですが、ちょっとやり過ぎではないでしょうか?
編集:これまでに思いついたこと。(すべての提案された回答に感謝します)