type gostring … func NewGoString() *gostring { … } func (p *gostring) Name() string { … } func (p *gostring) Overwrite() { … } func (p *gostring) Init(g *generator.Generator) { … } func (p *gostring) Generate(file *generator.FileDescriptor) { … } func init() { … }