Я пытаюсь создать 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 неправильным использованием для этого варианта использования? Как мне разобрать этот сценарий, в котором три аргумента могут появляться все вместе или вообще не появляться?