package fmtsort
Import Path
internal/fmtsort (on go.dev)
Dependency Relation
imports 2 packages, and imported by one package
Involved Source Files
Package fmtsort provides a general stable ordering mechanism
for maps, on behalf of the fmt and text/template packages.
It is not guaranteed to be efficient and works only for types
that are valid map keys.
Package-Level Type Names (only one, which is exported)
SortedMap represents a map's keys and values. The keys and values are
aligned in index order: Value[i] is the value in the map corresponding to Key[i].
Key []reflect.Value
Value []reflect.Value
(*SortedMap) Len() int
(*SortedMap) Less(i, j int) bool
(*SortedMap) Swap(i, j int)
*SortedMap : sort.Interface
func Sort(mapValue reflect.Value) *SortedMap
Package-Level Functions (total 5, in which 1 is exported)
Sort accepts a map and returns a SortedMap that has the same keys and
values but in a stable sorted order according to the keys, modulo issues
raised by unorderable key values such as NaNs.
The ordering rules are more general than with Go's < operator:
- when applicable, nil compares low
- ints, floats, and strings order by <
- NaN compares less than non-NaN floats
- bool compares false before true
- complex compares real, then imag
- pointers compare by machine address
- channel values compare by machine address
- structs compare each field in turn
- arrays compare each element in turn.
Otherwise identical arrays compare by length.
- interface values compare first by reflect.Type describing the concrete type
and then by concrete value as described in the previous rules.
The pages are generated with Golds v0.6.7. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |