Avatar ·

¿Cómo realizar correctamente una solicitud GET y construir una QueryString en Go?

¡Hola a todos! Soy nuevo en Go y estoy intentando realizar una solicitud GET a una API que requiere parámetros en la query string. Por ejemplo, necesito enviar una solicitud a `https://api.example.com/search?q=golang&page=1&limit=10`. Intenté hacerlo manualmente, simplemente concatenando la cadena, pero se ve horrible y parece incorrecto: ```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)) } ``` En primer lugar, no es seguro: si el parámetro `q` contiene espacios o caracteres especiales (por ejemplo, `golang & go`), la URL se romperá. En segundo lugar, el código se ve desordenado y es incómodo de mantener, especialmente cuando hay muchos parámetros. Sé que en otros lenguajes (por ejemplo, en Python existe `urllib.parse