このようなURLの/view/以下を取得してhtmlを描画する簡単な関数があるとします。
Go
func viewHandler(w http.ResponseWriter, r *http.Request) { title := r.URL.Path[len("/view/"):] fmt.Fprintf(w, "<h1>%s</h1><div>%s</div>", title, "hello!") } func main() { http.HandleFunc("/view/", viewHandler) log.Fatalln(http.ListenAndServe(":8080", nil)) }
Go
(w http.ResponseWriter)
① まずここでの記述において、
wという変数はResponseWriterという型という意味で合っていますでしょうか。
② 以下が実際のhttp.ResponseWriterのインターフェースです。
抽象化がされていて、このメソッドを使えるよ〜って意味だと思いますが合っていますでしょうか。
Go
type ResponseWriter interface { Header() Header Write([]byte) (int, error) WriteHeader(statusCode int) }
③ 以上を踏まえるとwに対して、以下のように書き込めば出力できるという意味が全く分かりません。。(wの正体はなんでしょうか。)
Go
fmt.Fprintf(w, "<h1>%s</h1><div>%s</div>", title, "hello!") ``
まだ回答がついていません
会員登録して回答してみよう