在 Go 中,為 GET 請求建立查詢字串可能比其他流行的程式語言更複雜。若要動態附加查詢參數,您可以利用 net/url 套件的 Values 類型及其 Encode 方法。具體方法如下:
package main import ( "fmt" "log" "net/http" "os" "net/url" ) func main() { req, err := http.NewRequest("GET", "http://api.themoviedb.org/3/tv/popular", nil) if err != nil { log.Fatal(err) } q := req.URL.Query() q.Add("api_key", os.Getenv("API_KEY")) q.Add("another_thing", "foo & bar") req.URL.RawQuery = q.Encode() fmt.Println(req.URL.String()) }
使用 url.Values,您可以輕鬆地新增多個查詢參數。 Encode 方法將自動對您的值進行 URL 編碼,使請求 URL 有效。
執行此腳本將輸出類似於以下內容的字串:
http://api.themoviedb.org/3/tv/popular?another_thing=foo+%26+bar&api_key=your_api_key
這種建構查詢字串的結構化方法允許用於動態參數化,更容易處理可變輸入和不同的請求場景。透過利用 net/url 套件,您可以在 Go 中有效地建構複雜的 GET 請求。
以上是如何在 Go 中高效建構 GET 請求的查詢字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!