ホームページ  >  記事  >  バックエンド開発  >  ライブラリを使用せずに Go で URL パラメータを抽出するにはどうすればよいですか?

ライブラリを使用せずに Go で URL パラメータを抽出するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-11 21:19:03951ブラウズ

How do I extract URL parameters in Go without using a library?

Go での URL パラメーター マッピング

Go には、URL パラメーターを直接マッピングするための組み込みメカニズムはありませんが、手動で実装することも可能です。方法は次のとおりです:

手動アプローチ:

URL からデータを手動で抽出するには、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, ""
    }
}

使用例:

この関数はリクエスト ハンドラー内で使用できます:

func handler(w http.ResponseWriter, r *http.Request) {
    code, param := getCode(r, 0)
    // ... do something with the extracted code and param ...
}

注: このアプローチには URL の手動解析と分析が含まれており、事前に構築されたライブラリを使用するよりも作業がかかる可能性があります。ただし、Go でパラメータをネイティブに抽出する方法についての基本的な理解を提供します。

以上がライブラリを使用せずに Go で URL パラメータを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。