@@ -95,16 +95,15 @@ func (gen *CodeGenerator) GenGo() error {
95
95
return err
96
96
}
97
97
98
+ func splitter (r rune ) bool {
99
+ return strings .ContainsRune (":.-_" , r )
100
+ }
101
+
98
102
func genGoFieldName (name string , unique bool ) (fieldName string ) {
99
- for _ , str := range strings .Split (name , ":" ) {
103
+ for _ , str := range strings .FieldsFunc (name , splitter ) {
100
104
fieldName += MakeFirstUpperCase (str )
101
105
}
102
- var tmp string
103
- for _ , str := range strings .Split (fieldName , "." ) {
104
- tmp += MakeFirstUpperCase (str )
105
- }
106
- fieldName = tmp
107
- fieldName = strings .Replace (strings .Replace (fieldName , "-" , "" , - 1 ), "_" , "" , - 1 )
106
+
108
107
if unique {
109
108
fieldNameCount [fieldName ]++
110
109
if count := fieldNameCount [fieldName ]; count != 1 {
@@ -119,10 +118,9 @@ func genGoFieldType(name string) string {
119
118
return name
120
119
}
121
120
var fieldType string
122
- for _ , str := range strings .Split (name , "." ) {
121
+ for _ , str := range strings .FieldsFunc (name , splitter ) {
123
122
fieldType += MakeFirstUpperCase (str )
124
123
}
125
- fieldType = strings .Replace (MakeFirstUpperCase (strings .Replace (fieldType , "-" , "" , - 1 )), "_" , "" , - 1 )
126
124
if fieldType != "" {
127
125
return "*" + fieldType
128
126
}
0 commit comments