Go - responding to requests - Web Apps - Browsers, servers, and responses
Head First Go、 Jay McGavren(著)、O’Reilly Media)の Chapter 15(responding to requests - Web Apps)、p.434(Exercises)の解答を求めてみる。
コード
main.go
package main
import (
"log"
"net/http"
)
func write(writer http.ResponseWriter, message string) {
_, err := writer.Write([]byte(message))
if err != nil {
log.Fatal(err)
}
}
func d(writer http.ResponseWriter, request *http.Request) {
write(writer, "z")
}
func e(writer http.ResponseWriter, request *http.Request) {
write(writer, "x")
}
func f(writer http.ResponseWriter, request *http.Request) {
write(writer, "y")
}
func main() {
http.HandleFunc("/a", f)
http.HandleFunc("/b", d)
http.HandleFunc("/c", e)
err := http.ListenAndServe("localhost:4567", nil)
log.Fatal(err)
}
// x http://localhost:4567/c
// y http://localhost:4567/a
// z http://localhost:4567/b
入出力結果(Terminal, Zsh)
% go run ./main.go
^Csignal: interrupt
%