3 回答

TA貢獻1826條經驗 獲得超6個贊
您可以定義自己的flag.Value并flag.Var()用于綁定它。
例子在這里。
然后你可以傳遞多個標志,如下所示:
go run your_file.go --list1 value1 --list1 value2
UPD:包括代碼片段以防萬一。
package main
import "flag"
type arrayFlags []string
func (i *arrayFlags) String() string {
return "my string representation"
}
func (i *arrayFlags) Set(value string) error {
*i = append(*i, value)
return nil
}
var myFlags arrayFlags
func main() {
flag.Var(&myFlags, "list1", "Some description for this param.")
flag.Parse()
}

TA貢獻1836條經驗 獲得超4個贊
通過使用該flag.Args()函數,您至少可以在命令的末尾有一個參數列表。
package main
import (
"flag"
"fmt"
)
var one string
func main() {
flag.StringVar(&one, "o", "default", "arg one")
flag.Parse()
tail := flag.Args()
fmt.Printf("Tail: %+q\n", tail)
}
my-go-app -o 1 this is the rest 將打印 Tail: ["this" "is" "the" "rest"]
- 3 回答
- 0 關注
- 229 瀏覽
添加回答
舉報