123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- 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()
- }
|