Go GET リクエストでクエリ文字列を動的に構築する
Go では、クエリ文字列を使用して HTTP GET リクエストを構築することがジレンマになる場合があります。デフォルトのアプローチでは文字列を連結する必要があるため、面倒でエラーが発生しやすくなります。これに対処するために、Go は動的クエリ文字列を構築するためのより効率的な方法を提供する net/url パッケージを提供します。
クエリ文字列を構築するには、net/url パッケージの query.Values タイプを使用できます。次のコード スニペットは、これを行う方法を示しています。
package main import ( "fmt" "log" "net/http" "golang.org/x/net/context" "golang.org/x/net/http2" ) func main() { ctx := context.Background() // Get the request context req := http.Request{} ctx = context.WithValue(ctx, http2.ClientConnContextKey, nil) // Build the querystring q := new(url.Values) // Initialize a new querystring q.Add("api_key", "my_api_key") q.Add("limit", "10") // Parse the URL and add the querystring url := "http://example.com/api/v1/users" url = fmt.Sprintf("%s?%s", url, q.Encode()) // Send the request resp, err := http.Get(url) if err != nil { log.Fatal(err) } defer resp.Body.Close() // Process the response fmt.Println(resp.Status) body, err := ioutil.ReadAll(resp.Body) if err != nil { log.Fatal(err) } fmt.Println(string(body)) }
この例では、query.Values 型を使用してクエリ文字列パラメーターを動的に追加できます。 url.String 関数は URL とクエリ文字列を結合し、有効な GET リクエストを生成します。
net/url パッケージを使用すると、Go GET リクエストで動的クエリ文字列を構築するプロセスが簡素化され、より効率的でエラーが少なくなります。 -傾向がある。
以上がGo GET リクエストの動的クエリ文字列を効率的に作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。