32 lines
535 B
Go
32 lines
535 B
Go
|
package flag
|
||
|
|
||
|
import "strings"
|
||
|
|
||
|
type StringSliceValue []string
|
||
|
|
||
|
func NewStringSliceValue() StringSliceValue {
|
||
|
arr := make([]string, 0, 3)
|
||
|
|
||
|
return StringSliceValue(arr)
|
||
|
}
|
||
|
|
||
|
func (v StringSliceValue) String() string {
|
||
|
return strings.Join(v, ", ")
|
||
|
}
|
||
|
|
||
|
func (v *StringSliceValue) Set(value string) error {
|
||
|
if len(value) > 0 {
|
||
|
*v = append(*v, value)
|
||
|
}
|
||
|
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (v StringSliceValue) Empty() bool {
|
||
|
return len(v) == 0
|
||
|
}
|
||
|
|
||
|
func (v StringSliceValue) ExpectedLength(expectedLength int) bool {
|
||
|
return len(v) == expectedLength
|
||
|
}
|