type suffix … type suffixer … var quantitySuffixer … type bePair … type listSuffixer … func (ls *listSuffixer) addSuffix(s suffix, pair bePair) { … } func (ls *listSuffixer) lookup(s suffix) (base, exponent int32, ok bool) { … } func (ls *listSuffixer) construct(base, exponent int32) (s suffix, ok bool) { … } func (ls *listSuffixer) constructBytes(base, exponent int32) (s []byte, ok bool) { … } type suffixHandler … type fastLookup … func (l fastLookup) interpret(s suffix) (base, exponent int32, format Format, ok bool) { … } func newSuffixer() suffixer { … } func (sh *suffixHandler) construct(base, exponent int32, fmt Format) (s suffix, ok bool) { … } func (sh *suffixHandler) constructBytes(base, exponent int32, format Format) (s []byte, ok bool) { … } func (sh *suffixHandler) interpret(suffix suffix) (base, exponent int32, fmt Format, ok bool) { … }