Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

43 řádky
721 B

  1. package strcase
  2. import (
  3. "strings"
  4. )
  5. // Converts a string to CamelCase
  6. func toCamelInitCase(s string, initCase bool) string {
  7. s = addWordBoundariesToNumbers(s)
  8. s = strings.Trim(s, " ")
  9. n := ""
  10. capNext := initCase
  11. for _, v := range s {
  12. if v >= 'A' && v <= 'Z' {
  13. n += string(v)
  14. }
  15. if v >= '0' && v <= '9' {
  16. n += string(v)
  17. }
  18. if v >= 'a' && v <= 'z' {
  19. if capNext {
  20. n += strings.ToUpper(string(v))
  21. } else {
  22. n += string(v)
  23. }
  24. }
  25. if v == '_' || v == ' ' || v == '-' {
  26. capNext = true
  27. } else {
  28. capNext = false
  29. }
  30. }
  31. return n
  32. }
  33. func ToCamel(s string) string {
  34. return toCamelInitCase(s, true);
  35. }
  36. func ToLowerCamel(s string) string {
  37. return toCamelInitCase(s, false);
  38. }