forked from jasder/yolk
add: word transfer
This commit is contained in:
parent
619e954daa
commit
18549b22db
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* @Date: 2021-06-10 14:33:29
|
||||
* @LastEditors: viletyy
|
||||
* @LastEditTime: 2021-06-10 14:40:55
|
||||
* @FilePath: /yolk/word/word.go
|
||||
*/
|
||||
package word
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"unicode"
|
||||
)
|
||||
|
||||
// 全部转为大写
|
||||
func ToUpper(s string) string {
|
||||
return strings.ToUpper(s)
|
||||
}
|
||||
|
||||
// 全部转为小写
|
||||
func ToLower(s string) string {
|
||||
return strings.ToLower(s)
|
||||
}
|
||||
|
||||
// 下划线转大写驼峰
|
||||
func UnderscoreToUpperCamelCase(s string) string {
|
||||
s = strings.Replace(s, "_", " ", -1)
|
||||
s = strings.Title(s)
|
||||
return strings.Replace(s, " ", "", -1)
|
||||
}
|
||||
|
||||
// 下划线转小写驼峰
|
||||
func UnderscoreToLowerCamelCase(s string) string {
|
||||
s = UnderscoreToUpperCamelCase(s)
|
||||
return string(unicode.ToLower(rune(s[0]))) + s[1:]
|
||||
}
|
||||
|
||||
// 驼峰转下划线
|
||||
func CamelCaseToUnderscore(s string) string {
|
||||
var output []rune
|
||||
for i, r := range s {
|
||||
if i == 0 {
|
||||
output = append(output, unicode.ToLower(r))
|
||||
continue
|
||||
}
|
||||
if unicode.IsUpper(r) {
|
||||
output = append(output, '_')
|
||||
}
|
||||
output = append(output, unicode.ToLower(r))
|
||||
}
|
||||
return string(output)
|
||||
}
|
Loading…
Reference in New Issue