Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertListToMap ¶
ConvertListToMap will convert list entries to map keys. If makeIfEmpty is true then a map is made for an empty list, otherwise nil is returned.
func ConvertMapKeysToList ¶
ConvertMapKeysToList will return a list of map keys.
func DeduplicateList ¶
DeduplicateList will return a list of strings with duplicates removed, preserving the (initial) ordering of the input list. If the input list has no duplicates, it is simply returned rather than returning a copy of the list. The unique map keys are also returned. If makeIfEmpty, a non-nil map is always returned.
Types ¶
type StringDeduplicator ¶
type StringDeduplicator struct {
// contains filtered or unexported fields
}
func NewStringDeduplicator ¶
func NewStringDeduplicator(lock bool) *StringDeduplicator
NewStringDeduplicator will create a StringDeduplicator which may be used to eliminate duplicate string contents. It maintains an internal map of unique strings. If lock is true then each method call will take an exclusive lock.
func (*StringDeduplicator) Clear ¶
func (d *StringDeduplicator) Clear()
Clear will clear the internal map and statistics.
func (*StringDeduplicator) DeDuplicate ¶
func (d *StringDeduplicator) DeDuplicate(str string) string
DeDuplicate will return a string which has the same contents as str. This method should be called for every string in the application.
func (*StringDeduplicator) GetStatistics ¶
func (d *StringDeduplicator) GetStatistics() StringDuplicationStatistics
GetStatistics will return de-duplication statistics.