You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

bool.go 574B

1234567891011121314151617181920212223
  1. package types
  2. // BoolValues defines the name and value mappings for ParseBool.
  3. var BoolValues = map[string]interface{}{
  4. "true": true, "yes": true, "on": true, "1": true,
  5. "false": false, "no": false, "off": false, "0": false,
  6. }
  7. var boolParser = func() *EnumParser {
  8. ep := &EnumParser{}
  9. ep.AddVals(BoolValues)
  10. return ep
  11. }()
  12. // ParseBool parses bool values according to the definitions in BoolValues.
  13. // Parsing is case-insensitive.
  14. func ParseBool(s string) (bool, error) {
  15. v, err := boolParser.Parse(s)
  16. if err != nil {
  17. return false, err
  18. }
  19. return v.(bool), nil
  20. }