code: func (s *ChangesService) GetPatch(changeID, revisionID string, opt *PatchOptions) (*string, *Response, error) {
  	u := fmt.Sprintf("changes/%s/revisions/%s/patch", changeID, revisionID)
  
  	u, err := addOptions(u, opt)
  	if err != nil {
  		return nil, nil, err
  	}
  
  	req, err := s.client.NewRequest("GET", u, nil)
  	if err != nil {
  		return nil, nil, err
  	}
  
  	v := new(string)
  	resp, err := s.client.Do(req, v)
  	if err != nil {
  		return nil, resp, err
  	}
  
  	return v, resp, err
  }
docs: // GetPatch gets the formatted patch for one revision.
  //
  // The formatted patch is returned as text encoded inside base64.
  // Adding query parameter zip (for example /changes/.../patch?zip) returns the patch as a single file inside of a ZIP archive.
  // Clients can expand the ZIP to obtain the plain text patch, avoiding the need for a base64 decoding step.
  // This option implies download.
  //
  // Query parameter download (e.g. /changes/.../patch?download) will suggest the browser save the patch as commitsha1.diff.base64, for later processing by command line tools.
  //
  // Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-patch