Comments 12
Args: os.Args[1:]Что произойдет, если параметров при вызове не будет?
несколько лет назад, когда я работал в MailRu.отчего ж ушли?
Но пока не придумал что делать с флагами, которые объявлены в модулях но не используются в тех бинарниках, которым из модуля нужна только часть функциональности. А --help засоряется. Более гранулярно нарезать модули конечно правильный ответ, но на это тратится много времени.
Спасибо.
А как они появляются в бинарниках, если не используются? :) Или они объявляются где-то в третьем пакете? Можно написать кастомный PrintDefaults(), который будет принимать фильтр флага в виде префикса, например, или списка имен флагов.
Есть ли возможность фильтровать вывод -help
на основании введенных аргументов?
К примеру, у вас есть утилита, которая работает с двумя провайдерами — yoogle
и gandex
, и у них разные способы авторизации, допустим.
Поэтому для того чтобы использовать утилиту с yoogle
нужно ввести cmd -provider=yoogle -yoogle.param1=123 -yoogle.param2=abc
, а с gandex
— cmd -provider=gandex -gandex.param3=xyz -gandex.param4=654
.
Вполне разумно было бы в таком случае при запуске cmd -help
выдавать только справку для параметра -provider
, а при запуске cmd -help -provider=[gandex|yoogle]
показывать справку по параметрам соответствующего провайдера.
Конфигурация программ на Go