| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package util
- import (
- "strings"
- "text/template"
- )
- var FuncMap = template.FuncMap{
- "toGoType": ToGoType,
- "formatJsonName": FormatJsonName,
- "formatSqlToVueType": formatSqlToVueType,
- "smallHump": SmallHump,
- "bigHump": BigHump,
- }
- // ToGoType sql类型转go类型
- func ToGoType(sqlType string) string {
- switch sqlType {
- case "varchar":
- return "string"
- case "char":
- return "string"
- case "int":
- return "int64"
- case "decimal":
- return "float64"
- case "datetime":
- return "time.Time"
- case "longblob":
- return "string"
- default:
- println("未找到类型", sqlType)
- return "string"
- }
- }
- func FormatJsonName(sqlName string) string {
- split := strings.Split(sqlName, "_")
- var str = split[0]
- for i := 1; i < len(split); i++ {
- str += strings.Title(split[i])
- }
- return str
- }
- func formatSqlToVueType(str string) string {
- str = strings.ToLower(str)
- switch str {
- case "varchar":
- return "string"
- case "char":
- return "string"
- case "int":
- return "number"
- case "decimal":
- return "number"
- case "datetime":
- return "string"
- case "longblob":
- return "string"
- default:
- panic("未定义的类型:" + str)
- }
- }
- func BigHump(str string) string {
- split := strings.Split(str, "_")
- res := strings.Title(split[0])
- for i := 1; i < len(split); i++ {
- res += split[i]
- }
- return res
- }
- func SmallHump(str string) string {
- split := strings.Split(str, "_")
- res := strings.ToLower(split[0][0:1]) + strings.ToLower(split[0][1:])
- for i := 1; i < len(split); i++ {
- res += split[i]
- }
- return res
- }
|