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 }