foursquare.go
func NewClient(httpClient *http.Client, mode, clientID, clientSecret, accessToken string) *Client {
	b := sling.New().Client(httpClient).Base(baseURL)
	b.QueryStruct(struct {
		V            string `url:"v"`
		M            string `url:"m"`
		ClientID     string `url:"client_id"`
		ClientSecret string `url:"client_secret,omitempty"`
		AccessToken  string `url:"access_token,omitempty"`
	}{
		V:            version,
		M:            mode,
		ClientID:     clientID,
		ClientSecret: clientSecret,
		AccessToken:  accessToken,
	})

	return &Client{
		sling:  b,
		Venues: newVenueService(b.New()),
	}
}
func NewClient(httpClient *http.Client, mode, clientID, clientSecret, accessToken string) *Client {
	b := sling.New().Client(httpClient).Base(baseURL)
	b.QueryStruct(struct {
		V            string `url:"v"`
		M            string `url:"m"`
		ClientID     string `url:"client_id"`
		ClientSecret string `url:"client_secret,omitempty"`
		AccessToken  string `url:"access_token,omitempty"`
	}{
		V:            version,
		M:            mode,
		ClientID:     clientID,
		ClientSecret: clientSecret,
		AccessToken:  accessToken,
	})

	return &Client{
		sling:  b,
		Venues: newVenueService(b.New()),
	}
}
// NewClient returns a new Client.