[解決済み] Go HTTP ハンドラで、ResponseWriter が値で、Request がポインタであるのはなぜですか?
2023-01-12 01:38:18
質問
GAEのアプリを書いてGoを勉強しているのですが、ハンドラ関数のシグネチャがこれなんです。
func handle(w http.ResponseWriter, r *http.Request) {}
私はここでポインター初心者なのですが、どうして
Request
オブジェクトはポインタですが
ResponseWriter
はポインタではないのですか?このようにする必要性があるのでしょうか、それとも、ある種の高度なポインタベースのコードを可能にするためなのでしょうか?
どのように解決するのですか?
取得できるもの
w
は、エクスポートされない型へのポインタです。
http.response
へのポインタですが
ResponseWriter
はインターフェースなので、それは見えません。
から server.go :
type ResponseWriter interface {
...
}
一方
r
は具象構造体へのポインタであるため、明示的に参照を渡す必要があります。
から request.go :
type Request struct {
...
}
関連
-
[解決済み] Luaにポインタのようなものはありますか?
-
[解決済み] C - エラーは "free(): invalid next size (normal)" です。
-
[解決済み] なぜ、オブジェクトそのものではなく、ポインタを使用しなければならないのですか?
-
[解決済み] 配列の場合、なぜ a[5] == 5[a] になるのでしょうか?
-
[解決済み】XがYを実装していない(...メソッドがポインタのレシーバを持つ)
-
[解決済み] 「<type>はインターフェースへのポインターであり、インターフェースではない」混乱
-
[解決済み] constポインタの意味とは?
-
[解決済み] Goで*int64をリテラルにするにはどうしたらいいですか?
-
[解決済み] ファットポインターとは何ですか?
-
[解決済み] 値の代わりに参照する範囲
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Luaにポインタのようなものはありますか?
-
[解決済み] C - エラーは "free(): invalid next size (normal)" です。
-
[解決済み] パラメータと戻り値におけるポインタと値の比較
-
[解決済み】XがYを実装していない(...メソッドがポインタのレシーバを持つ)
-
[解決済み] 「<type>はインターフェースへのポインターであり、インターフェースではない」混乱
-
[解決済み] なぜ、*Structを*Interfaceに割り当てることができないのですか?
-
[解決済み] Goで*int64をリテラルにするにはどうしたらいいですか?
-
[解決済み] ファットポインターとは何ですか?
-
[解決済み] 値の代わりに参照する範囲