我是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,该URL要求api_key的GET变量为api键作为值。问题在于,这变成了以下形式的硬编码:
req, _ := http.NewRequest("GET", "http://api.themoviedb.org/3/tv/popular?api_key=mySuperAwesomeApiKey", nil)
有没有一种方法可以动态构建此查询字符串?此刻,我需要在此步骤之前组装URL,以获得有效的响应。