|
package textutil
|
|
|
|
import "unicode"
|
|
|
|
func CamelToSnakeCase(name string) string {
|
|
var out []rune = make([]rune, 0, len(name)*2)
|
|
for i, r := range name {
|
|
if i > 0 && unicode.IsUpper(r) {
|
|
out = append(out, '_')
|
|
}
|
|
out = append(out, unicode.ToLower(r))
|
|
}
|
|
return string(out)
|
|
}
|