package helper import "strings" func LowerFirst(s string) string { isFirst := true return strings.Map(func(r rune) rune { if isFirst && r >= 'A' && r <= 'Z' { return r + 32 } isFirst = false return r }, s) } func BreakUp(s string) []string { length := len(s) b := make([]byte, length) ss := make([]string, 0) var p int for i := 0; i < length; i++ { if s[i] >= 'A' && s[i] <= 'Z' { if p > 0 { ss = append(ss, string(b[:p])) } p = 0 b[p] = s[i] + 32 } else { b[p] = s[i] } p++ } if p > 0 { ss = append(ss, string(b[:p])) } return ss } func Camel2id(s string) string { return strings.Join(BreakUp(s), "-") }