1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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), "-")
- }
|