Goのドキュメントを読んでいて疑問に思ったことがあります。
このHandleという関数の引数になっているfooHanderという関数があります。定義下を見ればfooHandlerが変数ではなく関数であることは確実なのですが、なぜfooHandlerの引数は省略されているのでしょうか?
Go言語への深い理解のために、知っておきたいと思います。お分かりになる方、どうかご回答よろしくお願いいたします。
##Goのドキュメント
Go
1http.Handle("/foo", fooHandler) 2 3http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) { 4 fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path)) 5}) 6 7log.Fatal(http.ListenAndServe(":8080", nil))
##実際の使用例
Go
1func main() { 2 mux := http.NewServeMux() 3 mux.HandleFunc("/articles", getAllArticles) //なぜgetAllArticlesの引数を省略できるのかが分からない 4 http.ListenAndServe(":8082", mux) 5} 6 7func getAllArticles(w http.ResponseWriter, r *http.Request) { 8 json.NewEncoder(w).Encode(articles) 9} 10
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/09/28 17:05