code: func (msg *MsgVersion) AddUserAgent(name string, version string,
  	comments ...string) error {
  
  	newUserAgent := fmt.Sprintf("%s:%s", name, version)
  	if len(comments) != 0 {
  		newUserAgent = fmt.Sprintf("%s(%s)", newUserAgent,
  			strings.Join(comments, "; "))
  	}
  	newUserAgent = fmt.Sprintf("%s%s/", msg.UserAgent, newUserAgent)
  	err := validateUserAgent(newUserAgent)
  	if err != nil {
  		return err
  	}
  	msg.UserAgent = newUserAgent
  	return nil
  }
docs: // AddUserAgent adds a user agent to the user agent string for the version
  // message.  The version string is not defined to any strict format, although
  // it is recommended to use the form "major.minor.revision" e.g. "2.6.41".