type Builder … // Make returns a new Tag from the current settings. func (b *Builder) Make() Tag { … } // SetTag copies all the settings from a given Tag. Any previously set values // are discarded. func (b *Builder) SetTag(t Tag) { … } // AddExt adds extension e to the tag. e must be a valid extension as returned // by Tag.Extension. If the extension already exists, it will be discarded, // except for a -u extension, where non-existing key-type pairs will added. func (b *Builder) AddExt(e string) { … } // SetExt sets the extension e to the tag. e must be a valid extension as // returned by Tag.Extension. If the extension already exists, it will be // overwritten, except for a -u extension, where the individual key-type pairs // will be set. func (b *Builder) SetExt(e string) { … } // AddVariant adds any number of variants. func (b *Builder) AddVariant(v ...string) { … } // ClearVariants removes any variants previously added, including those // copied from a Tag in SetTag. func (b *Builder) ClearVariants() { … } // ClearExtensions removes any extensions previously added, including those // copied from a Tag in SetTag. func (b *Builder) ClearExtensions() { … } func tokenLen(token ...string) (n int) { … } func appendTokens(b []byte, token ...string) int { … } type sortVariants … func (s sortVariants) Len() int { … } func (s sortVariants) Swap(i, j int) { … } func (s sortVariants) Less(i, j int) bool { … }