go根据模板生成代码入门

package main
 
import (
    "os"
    "text/template"
)
 
const templateText = `package {{.PackageName}}
 
type {{.StructName}} struct {
    Field1 string
    Field2 int
}
 
func New{{.StructName}}() *{{.StructName}} {
    return &{{.StructName}}{}
}
`
 
type TemplateData struct {
    PackageName string
    StructName  string
}
 
func main() {
    tmpl, err := template.New("codeGen").Parse(templateText)
    if err != nil {
        panic(err)
    }
 
    data := TemplateData{
        PackageName: "example",
        StructName:  "ExampleStruct",
    }
 
    result := os.Stdout
    err = tmpl.Execute(result, data)
    if err != nil {
        panic(err)
    }
}
posted @ 2024-07-15 09:17  朝阳1  阅读(16)  评论(0)    收藏  举报