longganhua
2019-07-18 6f6e748602c0694712564cdf54164ca7f903222b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package agent
 
import (
    "flag"
    "strings"
)
 
// AppendSliceValue implements the flag.Value interface and allows multiple
// calls to the same variable to append a list.
type AppendSliceValue []string
 
var _ flag.Value = new(AppendSliceValue)
 
func (s *AppendSliceValue) String() string {
    return strings.Join(*s, ",")
}
 
func (s *AppendSliceValue) Set(value string) error {
    if *s == nil {
        *s = make([]string, 0, 1)
    }
 
    *s = append(*s, value)
    return nil
}