ホームページ > バックエンド開発 > Golang > Go は URL パラメータ マッピングをネイティブに処理できますか?

Go は URL パラメータ マッピングをネイティブに処理できますか?

Linda Hamilton
リリース: 2024-11-12 05:38:01
オリジナル
336 人が閲覧しました

Can Go Handle URL Parameter Mapping Natively?

Go URL パラメーター マッピング: ネイティブ機能の探索

Go では、Web アプリケーションを構築するときに URL パスからパラメーターを抽出するのが一般的なタスクです。さまざまな外部ライブラリが利用可能ですが、これを実現するネイティブな方法があるかどうかを検討する価値があります。

Go には URL パラメータをマッピングするための組み込み機能が提供されていますか?

残念ながら, Go は、インプレース URL パラメーター マッピングのための直接的なネイティブ メカニズムを提供しません。ただし、標準ライブラリを使用して実装するのは比較的簡単です。

1 つの方法は、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, ""
    }
}
ログイン後にコピー

このコードでは、

  • r.URL.Path は複数の部分に分割されています。
  • 部分が 1 つしかない場合は、これはデフォルトのコードとみなされます。
  • 複数の部分がある場合、最初の部分は strconv.Atoi を使用して整数に変換されます。成功した場合はコードとみなされ、2 番目の部分は抽出されたパラメータになります。
  • 変換が失敗した場合は、デフォルトのコードが返されます。

この関数をリクエストに組み込むことで、ハンドラーを使用すると、外部ライブラリに依存せずに URL パラメーターに簡単にアクセスできます。

以上がGo は URL パラメータ マッピングをネイティブに処理できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート