type UniqueStringsValue … // Set parses a command line set of strings, separated by comma. // Implements "flag.Value" interface. // The values are set in order. func (us *UniqueStringsValue) Set(s string) error { … } // String implements "flag.Value" interface. func (us *UniqueStringsValue) String() string { … } func (us *UniqueStringsValue) stringSlice() []string { … } // NewUniqueStringsValue implements string slice as "flag.Value" interface. // Given value is to be separated by comma. // The values are set in order. func NewUniqueStringsValue(s string) (us *UniqueStringsValue) { … } // UniqueStringsFromFlag returns a string slice from the flag. func UniqueStringsFromFlag(fs *flag.FlagSet, flagName string) []string { … } // UniqueStringsMapFromFlag returns a map of strings from the flag. func UniqueStringsMapFromFlag(fs *flag.FlagSet, flagName string) map[string]struct{ … }