Возможно ли установить значение по умолчанию в пакете флага в Go? Например, в пакете флагов вы можете написать следующую строку:
filename := flag.String("file", "test.csv", "Filename to cope with")
В приведенном выше коде я не хочу обязательно устанавливать значение по умолчанию, которое в этом случае равно test.csv
, и вместо этого всегда заставляет пользователей указывать собственное имя файла, а если оно не указано, то я хочу вызвать ошибку и выйдите из программы.
Один из способов, которым я пришел, - это сначала проверить значение filename
после выполнения flag.Parse()
, и если это значение test.csv
, то у меня будет выход программы с соответствующим сообщением об ошибке. Тем не менее, я не хочу писать такой избыточный код, если его можно уклониться - и даже если это не удастся, я хотел бы услышать лучший способ справиться с проблемой здесь.
Вы можете делать эти операции в модуле Python argparse
, кстати, я просто хочу реализовать подобное, если могу...
Кроме того, могу ли я реализовать как короткие, так и длинные аргументы (другими словами, как -f
, так и -file
аргумент?) в пакете флага?
Спасибо.