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 中国語 Web サイトの他の関連記事を参照してください。