Package collate
Overview ▹
Index ▹
Constants
CLDRVersion is the CLDR version from which the tables in this package are derived.
const CLDRVersion = "23"
UnicodeVersion is the Unicode version from which the tables in this package are derived.
const UnicodeVersion = "6.2.0"
func Supported ¶
func Supported() []language.Tag
Supported returns the list of languages for which collating differs from its parent.
type Buffer ¶
Buffer holds keys generated by Key and KeyString.
type Buffer struct {
// contains filtered or unexported fields
}
func (*Buffer) Reset ¶
func (b *Buffer) Reset()
Reset clears the buffer from previous results generated by Key and KeyString.
type Collator ¶
Collator provides functionality for comparing strings for a given collation order.
type Collator struct {
// contains filtered or unexported fields
}
func New ¶
func New(t language.Tag, o ...Option) *Collator
New returns a new Collator initialized for the given locale.
func NewFromTable ¶
func NewFromTable(w colltab.Weighter, o ...Option) *Collator
NewFromTable returns a new Collator for the given Weighter.
func (*Collator) Compare ¶
func (c *Collator) Compare(a, b []byte) int
Compare returns an integer comparing the two byte slices. The result will be 0 if a==b, -1 if a < b, and +1 if a > b.
func (*Collator) CompareString ¶
func (c *Collator) CompareString(a, b string) int
CompareString returns an integer comparing the two strings. The result will be 0 if a==b, -1 if a < b, and +1 if a > b.
func (*Collator) Key ¶
func (c *Collator) Key(buf *Buffer, str []byte) []byte
Key returns the collation key for str. Passing the buffer buf may avoid memory allocations. The returned slice will point to an allocation in Buffer and will remain valid until the next call to buf.Reset().
func (*Collator) KeyFromString ¶
func (c *Collator) KeyFromString(buf *Buffer, str string) []byte
KeyFromString returns the collation key for str. Passing the buffer buf may avoid memory allocations. The returned slice will point to an allocation in Buffer and will retain valid until the next call to buf.ResetKeys().
func (*Collator) Sort ¶
func (c *Collator) Sort(x Lister)
Sort uses sort.Sort to sort the strings represented by x using the rules of c.
func (*Collator) SortStrings ¶
func (c *Collator) SortStrings(x []string)
SortStrings uses sort.Sort to sort the strings in x using the rules of c.
type Lister ¶
A Lister can be sorted by Collator's Sort method.
type Lister interface {
Len() int
Swap(i, j int)
// Bytes returns the bytes of the text at index i.
Bytes(i int) []byte
}
type Option ¶
An Option is used to change the behavior of a Collator. Options override the settings passed through the locale identifier.
type Option struct {
// contains filtered or unexported fields
}
var ( // IgnoreCase sets case-insensitive comparison. IgnoreCase Option = ignoreCase // IgnoreDiacritics causes diacritical marks to be ignored. ("o" == "ö"). IgnoreDiacritics Option = ignoreDiacritics // IgnoreWidth causes full-width characters to match their half-width // equivalents. IgnoreWidth Option = ignoreWidth // Loose sets the collator to ignore diacritics, case and weight. Loose Option = loose // Force ordering if strings are equivalent but not equal. Force Option = force // Numeric specifies that numbers should sort numerically ("2" < "12"). Numeric Option = numeric )
func OptionsFromTag ¶
func OptionsFromTag(t language.Tag) Option
OptionsFromTag extracts the BCP47 collation options from the tag and configures a collator accordingly. These options are set before any other option.
func Reorder ¶
func Reorder(s ...string) Option
Reorder overrides the pre-defined ordering of scripts and character sets.