code: func (fs *FlagSet) CheckArgs() (message string) {
  	for _, req := range fs.nArgRequirements {
  		var arguments string
  		if req.N == 1 {
  			arguments = "1 argument"
  		} else {
  			arguments = fmt.Sprintf("%d arguments", req.N)
  		}
  
  		str := func(kind string) string {
  			return fmt.Sprintf("%q requires %s%s", fs.name, kind, arguments)
  		}
  
  		switch req.Type {
  		case Exact:
  			if fs.NArg() != req.N {
  				return str("")
  			}
  		case Max:
  			if fs.NArg() > req.N {
  				return str("a maximum of ")
  			}
  		case Min:
  			if fs.NArg() < req.N {
  				return str("a minimum of ")
  			}
  		}
  	}
  	return ""
  }
docs: // CheckArgs uses the requirements set by FlagSet.Require() to validate
  // the number of arguments. If the requirements are not met,
  // an error message string is returned.