code: func (s *GroupsService) ListGroups(opt *ListGroupsOptions) (*map[string]GroupInfo, *Response, error) {
  	u := "groups/"
  
  	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(map[string]GroupInfo)
  	resp, err := s.client.Do(req, v)
  	if err != nil {
  		return nil, resp, err
  	}
  
  	return v, resp, err
  }
docs: // ListGroups lists the groups accessible by the caller.
  // This is the same as using the ls-groups command over SSH, and accepts the same options as query parameters.
  // The entries in the map are sorted by group name.
  //
  // Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#list-groups