diff --git a/main.go b/main.go index a8b776a..0879df4 100644 --- a/main.go +++ b/main.go @@ -16,6 +16,5 @@ func main() { defer file.Close() structFields := utils.GetStructFields(file, structName) - generation.Generate(structName, structFields) } diff --git a/utils/split_by_single_space.go b/utils/split_by_single_space.go new file mode 100644 index 0000000..f5d3c0f --- /dev/null +++ b/utils/split_by_single_space.go @@ -0,0 +1,14 @@ +package utils + +import "strings" + +func SplitBySingleSpace(input string) []string { + parts := strings.Split(strings.TrimSpace(input), " ") + var result []string + for _, p := range parts { + if p != "" { + result = append(result, p) + } + } + return result +} \ No newline at end of file diff --git a/utils/split_struct_field.go b/utils/split_struct_field.go index b137d90..790e9ce 100644 --- a/utils/split_struct_field.go +++ b/utils/split_struct_field.go @@ -11,7 +11,6 @@ func SplitStructField(field string) *entities.Field { if strings.Contains(field, "type") { return nil } - startBacktip := strings.Index(field, "`") endBacktip := -1 var metadata []entities.Medatada @@ -39,19 +38,16 @@ func SplitStructField(field string) *entities.Field { } else { startBacktip = len(field) } - field = strings.TrimSpace(field[:startBacktip]) - data := strings.Split(field, " ") + data := SplitBySingleSpace(field) if len(data) < 2 { return nil } - name := strings.TrimSpace(data[0]) - - dataType := strings.TrimSpace(data[1]) - + name := data[0] + dataType := data[1] return &entities.Field{ Medatada: metadata, Type: dataType,