code: func (s *UsersService) ListGPGKeys(ctx context.Context, user string, opt *ListOptions) ([]*GPGKey, *Response, error) {
  	var u string
  	if user != "" {
  		u = fmt.Sprintf("users/%v/gpg_keys", user)
  	} else {
  		u = "user/gpg_keys"
  	}
  	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
  	}
  
  	var keys []*GPGKey
  	resp, err := s.client.Do(ctx, req, &keys)
  	if err != nil {
  		return nil, resp, err
  	}
  
  	return keys, resp, nil
  }
docs: // ListGPGKeys lists the public GPG keys for a user. Passing the empty
  // string will fetch keys for the authenticated user. It requires authentication
  // via Basic Auth or via OAuth with at least read:gpg_key scope.
  //
  // GitHub API docs: https://developer.github.com/v3/users/gpg_keys/#list-gpg-keys-for-a-user