31 lines
461 B
Go
31 lines
461 B
Go
![]() |
package utils
|
||
|
|
||
|
import (
|
||
|
"strings"
|
||
|
)
|
||
|
|
||
|
func ToLowerCase(src []rune) rune {
|
||
|
return src[0] | 0x20
|
||
|
}
|
||
|
|
||
|
func ToUpperCase(src []rune) rune {
|
||
|
return src[0] ^ 0x20
|
||
|
}
|
||
|
|
||
|
func ToSnake(src, delimiter string) string {
|
||
|
src = strings.TrimSpace(src)
|
||
|
objs := strings.Split(src, delimiter)
|
||
|
|
||
|
out := make([]rune, 0)
|
||
|
|
||
|
for _, v := range objs {
|
||
|
if len(v) <= 0 {
|
||
|
continue
|
||
|
}
|
||
|
obj := []rune(v)
|
||
|
obj[0] = ToUpperCase(obj)
|
||
|
out = append(out, obj...)
|
||
|
}
|
||
|
return string(out)
|
||
|
}
|