Eu sou muito novo em Go e não entendo muito bem tudo ainda. Em muitas das linguagens modernas Node.js, Angular, jQuery, PHP, você pode fazer uma solicitação GET com parâmetros de string de consulta adicionais.
Fazer isso no Go não é tão simples quanto parece, e eu realmente não consigo descobrir ainda. Eu realmente não quero ter que concatenar uma string para cada uma das solicitações que desejo fazer.
Aqui está o script de exemplo:
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
client := &http.Client{}
req, _ := http.NewRequest("GET", "http://api.themoviedb.org/3/tv/popular", nil)
req.Header.Add("Accept", "application/json")
resp, err := client.Do(req)
if err != nil {
fmt.Println("Errored when sending request to the server")
return
}
defer resp.Body.Close()
resp_body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(resp.Status)
fmt.Println(string(resp_body))
}
Neste exemplo, você pode ver que há um URL, que requer uma variável GET de api_key com sua chave de API como o valor. O problema é que isso se torna codificado na forma de:
req, _ := http.NewRequest("GET", "http://api.themoviedb.org/3/tv/popular?api_key=mySuperAwesomeApiKey", nil)
Existe uma maneira de construir essa string de consulta dinamicamente ?? No momento, precisarei montar a URL antes desta etapa para obter uma resposta válida.