ネイティブ Go での URL パラメーターのマッピング
ネイティブ Go はインライン URL パラメーターを処理できますか? URL http://localhost:8080/blob/123/test を考えてみましょう。これは /blob/{id}/test にマッピングすることを目的としています。この質問では、外部ライブラリに依存せずに、そのようなマッピングに対する Go のネイティブ機能を検討します。
ネイティブ アプローチ:
ネイティブ Go は、このタスク用の単純なメカニズムを提供しません。ただし、手動での実装は比較的簡単です。
次の関数 getCode() は、リクエスト URL を解析し、パスの最初の部分からコードを抽出します。
func getCode(r *http.Request, defaultCode int) (int, string) { p := strings.Split(r.URL.Path, "/") if len(p) == 1 { return defaultCode, p[0] } else if len(p) > 1 { code, err := strconv.Atoi(p[0]) if err == nil { return code, p[1] } else { return defaultCode, p[1] } } else { return defaultCode, "" } }
この関数は、ネイティブで URL パラメータをマップする基本的な方法を提供します。 Go を使用すると、/blob/{id}/test などの URL を効果的に操作できるようになります。
以上がNative Go は URL パラメーターを処理できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。