Я зовсім новачок у Go, і поки що не зовсім все розумію. У багатьох сучасних мовах Node.js, Angular, jQuery, PHP ви можете зробити запит GET із додатковими параметрами рядка запиту.
Зробити це в Go не так просто, як здається, і я поки що не можу це зрозуміти. Я дійсно не хочу об'єднувати рядок для кожного із запитів, які я хочу зробити.
Ось зразок сценарію:
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))
}
У цьому прикладі ви можете бачити, що є URL-адреса, яка вимагає GET змінну api_key з вашим ключем api як значенням. Проблема полягає в тому, що це стає жорстко закодованим у вигляді:
req, _ := http.NewRequest("GET", "http://api.themoviedb.org/3/tv/popular?api_key=mySuperAwesomeApiKey", nil)
Чи є спосіб побудувати цей рядок запиту динамічно ?? На даний момент мені потрібно буде зібрати URL-адресу перед цим кроком, щоб отримати дійсну відповідь.