diff --git a/gen/generator.go b/gen/generator.go index 07e19fc..b6dc08e 100644 --- a/gen/generator.go +++ b/gen/generator.go @@ -222,8 +222,13 @@ func (g *Generator) pkgAlias(pkgPath string) string { // getType return the textual type name of given type that can be used in generated code. func (g *Generator) getType(t reflect.Type) string { - if t.Kind() == reflect.Ptr { + switch t.Kind() { + case reflect.Ptr: return "*" + g.getType(t.Elem()) + case reflect.Slice: + return "[]" + g.getType(t.Elem()) + case reflect.Map: + return "map[" + g.getType(t.Key()) + "]" + g.getType(t.Elem()) } if t.Name() == "" || t.PkgPath() == "" {