code: func (s *UsersService) CreateGPGKey(ctx context.Context, armoredPublicKey string) (*GPGKey, *Response, error) {
  	gpgKey := &struct {
  		ArmoredPublicKey string `json:"armored_public_key"`
  	}{ArmoredPublicKey: armoredPublicKey}
  	req, err := s.client.NewRequest("POST", "user/gpg_keys", gpgKey)
  	if err != nil {
  		return nil, nil, err
  	}
  
  	key := &GPGKey{}
  	resp, err := s.client.Do(ctx, req, key)
  	if err != nil {
  		return nil, resp, err
  	}
  
  	return key, resp, nil
  }
docs: // CreateGPGKey creates a GPG key. It requires authenticatation via Basic Auth
  // or OAuth with at least write:gpg_key scope.
  //
  // GitHub API docs: https://developer.github.com/v3/users/gpg_keys/#create-a-gpg-key