Performing client requests in parallel is relatively simple in Go. In the following recipe, we'll use a client to retrieve multiple URLs using Go buffered channels. Responses and errors will both go to a separate channel that is readily accessible by anyone with access to the client.
In the case of this recipe, creation of the client, reading the channels, and handling of responses and errors will all be done in the main.go file.