package fmtsort

Import Path
	internal/fmtsort (on go.dev)

Dependency Relation
	imports 3 packages, and imported by 2 packages

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 (total 2)
/* sort by: | */
KeyValue holds a single key and value pair found in a map. Key reflect.Value Value reflect.Value
SortedMap is a slice of KeyValue pairs that simplifies sorting and iterating over map entries. Each KeyValue pair contains a map key and its corresponding value. func Sort(mapValue reflect.Value) SortedMap
Package-Level Functions (only one)
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.