Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NaturalLess ¶
NaturalLess compares two strings using natural ordering. This means that e.g. "abc2" < "abc12".
This is the simple case-folded version, which means that letters are considered equal if strings.SimpleFold says they are. For example, "abc2" < "ABC12" < "abc100" and 'k' == '\u212a' (the Kelvin symbol).
Non-digit sequences and numbers are compared separately. The former are compared rune-by-rune using the lowest equivalent runes, while digits are compared numerically (except that the number of leading zeros is used as a tie-breaker, so e.g. "2" < "02")
Limitations:
- only ASCII digits (0-9) are considered.
- comparisons are done on a rune-by-rune basis, so some special case equivalences like 'ß' == 'SS" are not supported.
- Special cases like Turkish 'i' == 'İ' (and not regular dotless 'I') are not supported either.
Types ¶
type Natural ¶
type Natural []string
Natural implements sort.Interface to sort strings in natural order. This means that e.g. "abc2" < "abc12".
This is the simple case-folded version, which means that letters are considered equal if strings.SimpleFold says they are. For example, "abc2" < "ABC12" < "abc100" and 'k' == '\u212a' (the Kelvin symbol).
Non-digit sequences and numbers are compared separately. The former are compared rune-by-rune using the lowest equivalent runes, while digits are compared numerically (except that the number of leading zeros is used as a tie-breaker, so e.g. "2" < "02")
Limitations:
- only ASCII digits (0-9) are considered.
- comparisons are done on a rune-by-rune basis, so some special case equivalences like 'ß' == 'SS" are not supported.
- Special cases like Turkish 'i' == 'İ' (and not regular dotless 'I') are not supported either.