メイン関数では、ゴリラmuxルータとそのルートを処理する関数があります。golangの場合、net/httpを使用すると、後ろにかっこが付いていても機能が呼び出されません。
var router = mux.NewRouter()
func main() {
router.HandleFunc("/", ParseSlash)
http.Handle("/", router)
http.ListenAndServe(":8000", nil)
}
とParseSlashは
const slash = `<h1>Login</h1>
<form method="post" action="/login">
<label for="name">User name</label>
<input type="text" id="name" name="name">
<label for="password">Password</label>
<input type="password" id="password" name="password">
<button type="submit">Login</button>
</form>`
func ParseSlash(response http.ResponseWriter, request *http.Request) {
fmt.Fprintf(response, slash)
}
のように見えますが、メインでは、我々はParseSlash()
として関数を呼び出すされていませんが、router.HandleFunc()
内部ParseSlash
。明示的に提供していない場合、関数はどこからパラメータを取得しますか?この関数を呼び出す方法は何ですか?
ありがとうございます。
さらに、「ブラケットなしの関数」という名前はコールバックと呼ばれ、一般的な手法であり、オンラインで多くのリソースを見つけることができます。それは非常に一般的です(そして、不可欠です)。 JavaScript。 – tsdtsdtsd