code: func PatchURL(originalURL string, params ...interface{}) (patchedURL string, err error) {
  	url, err := url.Parse(originalURL)
  	if err != nil {
  		return
  	}
  
  	query := url.Query()
  	for i := 0; i < len(params)/2; i++ {
  		// Check if params is key&value pair
  		key := fmt.Sprintf("%v", params[i*2])
  		value := fmt.Sprintf("%v", params[i*2+1])
  
  		if value == "" {
  			query.Del(key)
  		} else {
  			query.Set(key, value)
  		}
  	}
  
  	url.RawQuery = query.Encode()
  	patchedURL = url.String()
  	return
  }
docs: // PatchURL updates the query part of the request url.
  //     PatchURL("google.com","key","value") => "google.com?key=value"