私は次のフラグを追加していますcobra.Cmd
myCmd.PersistentFlags().StringP(applicationLongFlag, applicationShortFlag, applicationDefaultValue, applicationFlagHelpMsg)
どこ
applicationLongFlag = "application"
applicationShortFlag = "a"
applicationDefaultValue = ""
applicationFlagHelpMsg = "The application name"
これは期待どおりに機能しますが、必要に応じて上記のフラグを作成しようとすると、プロセスが失敗します
if err := myCmd.MarkFlagRequired(applicationShortFlag); err != nil {
return errors.Wrapf(err, "error marking %s as required flag", applicationShortFlag)
}
error marking a as required flag: no such flag -a
-a
/--application
期待どおりに動作し、私のヘルプにも印刷されています
▶ go run myprog.go mycommand --help
Usage:
myprog.go mycommand [flags]
Flags:
-a, --application string The application name
必要に応じて設定できないのはなぜですか?