func NewField(name string, typ *FieldType) *FieldBuilder {
	flb := &FieldBuilder{
		baseBuilder: baseBuilderWithName(name),
		fieldType:   typ,
	}
	return flb
}
NewField creates a new FieldBuilder for a non-extension field with the given
name and type. To create a map or group field, see NewMapField or
NewGroupField respectively.

The new field will be optional. See SetLabel, SetRepeated, and SetRequired
for changing this aspect of the field. The new field's tag will be zero,
which means it will be auto-assigned when the descriptor is built. Use
SetNumber or TrySetNumber to assign an explicit tag number.
package builder
import (
	"fmt"
	"strings"
	"unicode"
	"github.com/golang/protobuf/proto"
	dpb "github.com/golang/protobuf/protoc-gen-go/descriptor"
	"github.com/jhump/protoreflect/desc"
	"github.com/jhump/protoreflect/desc/internal"
)
type FieldBuilder struct {
	baseBuilder
	number int32
	msgType   *MessageBuilder
	fieldType *FieldType
	Options        *dpb.FieldOptions
	Label          dpb.FieldDescriptorProto_Label
	Proto3Optional bool
	Default        string
	JsonName       string
	foreignExtendee *desc.MessageDescriptor
	localExtendee   *MessageBuilder
}