go-genbuilder

APACHE-2.0 License

Stars
0
Committers
2

gen-builder CI

A golang code generator tool to generate Builder pattern code.

Usage

Add a go:generate annotation to a struct

//go:generate go run github.com/paulvollmer/go-genbuilder
type Shape2D struct {
	Kind ShapeKind
	X    int
	Y    int
}

And then use the generated code to create a Shape2D instance.

shape := NewShape2DBuilder().
		SetKind("RECT").
		SetX(1).
		SetY(2).
		Build()

In case you want to ignore some fields use the -ignore flag to create a comma separated list of fields to ignore:

//go:generate go run github.com/paulvollmer/go-genbuilder -ignore X,Y
type Shape2D struct {
	Kind ShapeKind
	X    int
	Y    int
}