Goのnet/httpパッケージには、ResponseWriter
というインターフェイスがあります。このインタフェースはHeader() Header
というメソッドを持っています。 Header()
が返す値はHeader
なので、ポインタではない値であるので、実際のHeader
の値はResponseWriter
のプライベートな値ではなくコピーであると仮定しています。Goのポインタの代わりに値を返す
ただし、これは当てはまりません。 ResponseWriter
のドキュメントでは、http応答にヘッダーを追加する適切な方法としてr.Header().Add("key", "value")
が表示されます。
少し深く掘り下げて、Header
タイプの定義を見つけました。それはtype Header map[string][]string
です。私はここで少し混乱している。この場合、ResponseWriter
の値を変更するためにポインタを返す必要はありませんか?もしそうなら、なぜですか?
お返事ありがとうございます。正しいと思われる。私はもう少し詳しく説明しました。 https://groups.google.com/forum/#!topic/golang-nuts/xQUsmdo6oSs –