URL-Parameter in Native Go zuordnen
Kann Native Go mit Inline-URL-Parametern umgehen? Betrachten Sie die URL http://localhost:8080/blob/123/test, die wir /blob/{id}/test zuordnen möchten. Diese Frage untersucht die nativen Fähigkeiten von Go für solche Zuordnungen, ohne auf externe Bibliotheken angewiesen zu sein.
Nativer Ansatz:
Native Go bietet keinen einfachen Mechanismus für diese Aufgabe. Die manuelle Implementierung ist jedoch relativ einfach.
Die folgende Funktion, getCode(), analysiert die Anforderungs-URL und extrahiert den Code aus dem ersten Teil des Pfads:
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, "" } }
Diese Funktion bietet eine grundlegende Möglichkeit, URL-Parameter nativ zuzuordnen Gehen Sie, sodass Sie effektiv mit URLs wie /blob/{id}/test interagieren können.
Das obige ist der detaillierte Inhalt vonKann Native Go URL-Parameter verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!