Я пытаюсь создать CLI, в котором я ожидаю, что группа из трех аргументов появится вместе.
command --alpha "value-a" --bravo "value-b" --charlie "value-c"
Вот как я пытаюсь это сделать:
import (
"github.com/spf13/pflag"
)
var (
alpha string
bravo string
charlie string
)
abcFlagSet := pflag.NewFlagSet("alpha", pflag.ContinueOnError)
abcFlagSet.StringVar(&bravo, "bravo", "", "bravo-description")
abcFlagSet.StringVar(&charlie, "charlie", "", "charlie-description")
cmd.Flags().AddFlagSet(abcFlagSet)
Это правильно распознает флаги bravo
и charlie
. Однако я думаю, что он обрабатывает alpha
как подкоманду command
и не анализирует присвоенное ей значение, то есть value-a
. Является ли FlagSet
неправильным использованием для этого варианта использования? Как мне разобрать этот сценарий, в котором три аргумента могут появляться все вместе или вообще не появляться?