123456789101112131415161718192021222324252627282930313233343536373839 |
- package gen
- import (
- "bytes"
- "strings"
- "text/template"
- sqltemplate "zero/tools/goctl/model/sql/template"
- )
- func genFields(fields []*InnerField) (string, error) {
- list := make([]string, 0)
- for _, field := range fields {
- result, err := genField(field)
- if err != nil {
- return "", err
- }
- list = append(list, result)
- }
- return strings.Join(list, "\r\n"), nil
- }
- func genField(field *InnerField) (string, error) {
- t, err := template.New("types").Parse(sqltemplate.Field)
- if err != nil {
- return "", nil
- }
- var typeBuffer = new(bytes.Buffer)
- err = t.Execute(typeBuffer, map[string]string{
- "name": field.UpperCamelCase,
- "type": field.DataType,
- "tag": field.Tag,
- "comment": field.Comment,
- })
- if err != nil {
- return "", err
- }
- return typeBuffer.String(), nil
- }
|