func (b *ConcreteBuilder) GetResult() Product {
	return Product{b.built}
}
GetResult returns the Product which has been build during the Build step.
package creational
type Director struct {
	builder Builder
}
func NewDirector(builder Builder) Director {
	return Director{builder}
}
func (d *Director) Construct() {
	d.builder.Build()
}
type Builder interface {
	Build()
}
type ConcreteBuilder struct {
	built bool
}
func NewConcreteBuilder() ConcreteBuilder {
	return ConcreteBuilder{false}
}
func (b *ConcreteBuilder) Build() {
	b.built = true
}