我需要在 GO 中解析不同的参数(多个重复和逗号分隔)。对于这个例子,我该怎么做:
go run ./test.go -param "one, two" -param "tree" -param "four"
This example 很好,但不适用于上述示例:
[one, two tree four]
即它适用于多个重复参数,但不适用于逗号分隔。
如何改进上述脚本以解析包括逗号分隔在内的多个参数以在结果中获得此(无逗号):
[one two tree four]
?
答案 0 :(得分:2)
修改 Set
方法,使其以逗号分隔参数并将结果附加到接收器。
func (i *arrayFlags) Set(value string) error {
s := strings.Split(value, ",")
for i := range s {
s[i] = strings.TrimSpace(s[i])
}
*i = append(*i, s...)
return nil
}