goctl model reactor (#15)

* reactor sql generation

* reactor sql generation

* add console & example

* optimize unit test & add document

* modify default config

* remove test file

* Revert "remove test file"

This reverts commit 81041f9e

* fix stringx.go & optimize example

* remove unused code
This commit is contained in:
Keson
2020-08-19 10:41:19 +08:00
committed by GitHub
parent 1252bd9cde
commit d21d770b5b
64 changed files with 1505 additions and 2306 deletions

View File

@@ -1,12 +0,0 @@
package util
import (
"fmt"
"testing"
)
func TestFormatField(t *testing.T) {
var in = "go_java"
snakeCase, upperCase, lowerCase := FormatField(in)
fmt.Println(snakeCase, upperCase, lowerCase)
}

View File

@@ -1,48 +0,0 @@
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)
}