Go 言語ドキュメントの net/http.HandleFunc 関数を使用して HTTP ルーティング処理を実装する
Go 言語は、最も一般的に使用される豊富なネットワーク プログラミング ライブラリを提供します。そのうちnet/http
パッケージです。このパッケージは、HTTP ルーティングの処理に使用できる便利なメソッド http.HandleFunc
を提供します。
HTTP ルーティングとは、異なる URL に基づいて異なる処理関数を呼び出すことを指します。 Go 言語では、この関数は http.HandleFunc
関数を通じて実装できます。この関数は、ルーティング パスと処理関数の 2 つのパラメーターを受け取ります。
次は、http.HandleFunc
関数を使用して HTTP ルーティングを処理する方法を示すサンプル コードです:
package main import ( "fmt" "log" "net/http" ) func main() { // 注册路由处理函数 http.HandleFunc("/", homeHandler) http.HandleFunc("/about", aboutHandler) http.HandleFunc("/contact", contactHandler) // 启动HTTP服务 err := http.ListenAndServe(":8080", nil) if err != nil { log.Fatal("启动HTTP服务失败:", err) } } // 路由处理函数 func homeHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "欢迎访问首页") } func aboutHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "关于我们") } func contactHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "联系我们") }
このサンプル コードでは、3 つのルートを定義します。関数: homeHandler
、aboutHandler
、contactHandler
はそれぞれ異なる URL パスに対応します。次に、http.HandleFunc
関数を使用して、これらの処理関数を対応するルーティング パスに登録します。
main
関数では、http.ListenAndServe
関数を使用して、ポート 8080 でリッスンする HTTP サービスを開始します。この関数は、エラーが発生するか手動で停止されるまでブロックされます。
HTTP リクエストが到着すると、Go 言語の net/http
パッケージは、リクエストされた URL パスに従って、対応する処理関数を呼び出します。処理関数では、http.ResponseWriter
パラメーターを通じて HTTP 応答の内容を書き込むことができます。
上記の例では、ルート パス /
にアクセスすると、homeHandler
関数が呼び出され、「ホームページへようこそ」という内容が書き込まれます。 client "
; /about
にアクセスすると、aboutHandler
関数が呼び出され、クライアントに "About Us"
が書き込まれます。 #/contact を指定すると、
contactHandler 関数が呼び出され、クライアントに
"Contact Us" が書き込まれます。
net/http.HandleFunc 関数を使用して簡単に実装できます。必要なのは、さまざまなルーティング処理関数を定義し、対応するルーティング パスに登録することだけです。この方法は非常にシンプルで柔軟性があり、あらゆる規模の Web アプリケーションに適しています。
以上がGo 言語ドキュメントの net/http.HandleFunc 関数を使用して、HTTP ルーティング処理を実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。