goctl added
This commit is contained in:
51
tools/modelctl/util/util.go
Normal file
51
tools/modelctl/util/util.go
Normal file
@@ -0,0 +1,51 @@
|
||||
package util
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// 简单的下划线转驼峰格式
|
||||
func FmtUnderLine2Camel(in string, upperStart bool) string {
|
||||
if strings.TrimSpace(in) == "" {
|
||||
return ""
|
||||
}
|
||||
var words []string
|
||||
if strings.Contains(in, "_") {
|
||||
words = strings.Split(in, "_")
|
||||
if len(words) == 0 {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
if len(words) == 0 {
|
||||
return strings.Title(in)
|
||||
}
|
||||
var buffer bytes.Buffer
|
||||
for index, word := range words {
|
||||
if strings.TrimSpace(word) == "" {
|
||||
continue
|
||||
}
|
||||
bts := []byte(word)
|
||||
if index == 0 && !upperStart {
|
||||
bts[0] = bytes.ToLower([]byte{bts[0]})[0]
|
||||
buffer.Write(bts)
|
||||
continue
|
||||
}
|
||||
bts = bytes.Title(bts)
|
||||
buffer.Write(bts)
|
||||
}
|
||||
return buffer.String()
|
||||
}
|
||||
|
||||
func Abbr(in string) string {
|
||||
ar := strings.Split(in, "_")
|
||||
var abbrBuffer bytes.Buffer
|
||||
for _, item := range ar {
|
||||
bts := []byte(item)
|
||||
if len(bts) == 0 {
|
||||
continue
|
||||
}
|
||||
abbrBuffer.Write([]byte{bts[0]})
|
||||
}
|
||||
return abbrBuffer.String()
|
||||
}
|
||||
Reference in New Issue
Block a user