Avatar ·

Wie führe ich einen GET-Request korrekt aus und erstelle einen QueryString in Go?

Hallo zusammen! Ich bin neu in Go und versuche, einen GET-Request an eine API zu senden, die Parameter in der Query-String erfordert. Zum Beispiel muss ich eine Anfrage an `https://api.example.com/search?q=golang&page=1&limit=10` senden. Ich habe versucht, dies manuell zu tun, indem ich einfach einen String zusammengefügt habe, aber das sieht schrecklich aus und scheint falsch zu sein: ```go package main import ( "fmt" "io/ioutil" "net/http" ) func main() { url := "https://api.example.com/search?q=" + "golang" + "&page=" + "1" + "&limit=" + "10" resp, err := http.Get(url) if err != nil { panic(err) } defer resp.Body.Close() body, _ := ioutil.ReadAll(resp.Body) fmt.Println(string(body)) } ``` Erstens ist es unsicher: Wenn der Parameter `q` Leerzeichen oder Sonderzeichen enthält (z. B. `golang & go`), wird die URL beschädigt. Zweitens sieht der Code schmutzig aus und ist schwer zu warten, besonders wenn es viele Parameter gibt. Ich weiß, dass es in anderen Sprachen (z. B. in Python gibt es `urllib.parse`) bessere Möglichkeiten gibt.