Wie kann ich reguläre Ausdrücke zum Weiterleiten von URLs in Go verwenden?

Barbara Streisand
Freigeben: 2024-11-25 07:14:10
Original
117 Leute haben es durchsucht

How Can I Use Regular Expressions to Route URLs in Go?

Reguläre Ausdrücke für den URL-Musterabgleich in Go verwenden

Frage:

Wie kann ich Verwenden Sie reguläre Ausdrücke, um die geeignete Funktion für die URL-Verarbeitung in einem Go zu bestimmen Programm?

Antwort:

Der bereitgestellte Code demonstriert die Verwendung von http.HandleFunc mit einem festen Pfad oder einem verwurzelten Teilbaum. Um reguläre Ausdrücke für den URL-Abgleich zu verwenden, registrieren Sie einen Handler in einem verwurzelten Teilbaum und führen Sie einen Regexp-Abgleich innerhalb des Handlers durch.

Hier ist ein Beispiel:

func main() {
    http.HandleFunc("/", route) // Match everything
    http.ListenAndServe(":8080", nil)
}

var rNum = regexp.MustCompile(`\d`)  // Has digit(s)
var rAbc = regexp.MustCompile(`abc`) // Contains "abc"

func route(w http.ResponseWriter, r *http.Request) {
    switch {
    case rNum.MatchString(r.URL.Path):
        digits(w, r)
    case rAbc.MatchString(r.URL.Path):
        abc(w, r)
    default:
        w.Write([]byte("Unknown Pattern"))
    }
}

func digits(w http.ResponseWriter, r *http.Request) {
    w.Write([]byte("Has digits"))
}

func abc(w http.ResponseWriter, r *http.Request) {
    w.Write([]byte("Has abc"))
}
Nach dem Login kopieren

Alternativ können Sie eine externe Bibliothek verwenden, z als Gorilla MUX für mehr Flexibilität beim URL-Abgleich.

Das obige ist der detaillierte Inhalt vonWie kann ich reguläre Ausdrücke zum Weiterleiten von URLs in Go verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage