Maison >développement back-end >Golang >Comment extraire les paramètres d'URL dans Go sans utiliser de bibliothèque ?

Comment extraire les paramètres d'URL dans Go sans utiliser de bibliothèque ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-11 21:19:031031parcourir

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

Mappage des paramètres d'URL dans Go

Dans Go, bien qu'il n'y ait pas de mécanisme intégré pour le mappage direct des paramètres d'URL, c'est possible de l’implémenter manuellement. Voici comment :

Approche manuelle :

Pour extraire manuellement les données d'une URL, vous pouvez diviser le chemin de l'URL en parties et les analyser individuellement. Voici un exemple de fonction qui accomplit cela :

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, ""
    }
}

Exemple d'utilisation :

Cette fonction peut être utilisée dans un gestionnaire de requêtes :

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

Remarque : Cette approche implique une analyse manuelle et une analyse de l'URL, ce qui peut représenter plus de travail que l'utilisation d'un fichier prédéfini. bibliothèque. Cependant, il fournit une compréhension de base de la façon d’extraire les paramètres dans Go de manière native.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn