
Комментарии 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