123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package util
- import (
- "strings"
- "unicode"
- )
- func FormatField(field string) (snakeCase, upperCamelCase, lowerCamelCase string) {
- snakeCase = field
- list := strings.Split(field, "_")
- upperCaseList := make([]string, 0)
- lowerCaseList := make([]string, 0)
- for index, word := range list {
- upperStart := convertUpperStart(word)
- lowerStart := convertLowerStart(word)
- upperCaseList = append(upperCaseList, upperStart)
- if index == 0 {
- lowerCaseList = append(lowerCaseList, lowerStart)
- } else {
- lowerCaseList = append(lowerCaseList, upperStart)
- }
- }
- upperCamelCase = strings.Join(upperCaseList, "")
- lowerCamelCase = strings.Join(lowerCaseList, "")
- return
- }
- func convertLowerStart(in string) string {
- var resp []rune
- for index, r := range in {
- if index == 0 {
- r = unicode.ToLower(r)
- }
- resp = append(resp, r)
- }
- return string(resp)
- }
- func convertUpperStart(in string) string {
- var resp []rune
- for index, r := range in {
- if index == 0 {
- r = unicode.ToUpper(r)
- }
- resp = append(resp, r)
- }
- return string(resp)
- }
|