Может ли использование печати пакета `flag`?
Возможно ли, чтобы я настроил пакет Go flag
, чтобы он печатал пользовательскую строку использования? У меня есть приложение с текущим выходом
Usage of ./mysqlcsvdump:
-compress-file=false: whether compress connection or not
-hostname="": database host
-outdir="": where output will be stored
-password="": database password
-port=3306: database port
-single-transaction=true: whether to wrap everything in a transaction or not.
-skip-header=false: whether column header should be included or not
-user="root": database user
и предпочтет что-то вроде
Usage: ./mysqlcsvdump [options] [table1 table2 ... tableN]
Parameters:
-compress-file=false: whether compress connection or not
-hostname="": database host
-outdir="": where output will be stored
-password="": database password
-port=3306: database port
-single-transaction=true: whether to wrap everything in a transaction or not.
-skip-header=false: whether column header should be included or not
-user="root": database user
Ответы
Ответ 1
Да, вы можете это сделать, изменив flag.Usage
:
var Usage = func() {
fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0])
flag.PrintDefaults()
}
Использование печатает стандартную ошибку в сообщении об использовании, документируя все определенные флаги командной строки. Функция - это переменная, которая может быть изменена, чтобы указать на пользовательскую функцию.
Пример использования вне flag
:
flag.Usage = func() {
fmt.Fprintf(os.Stderr, "This is not helpful.\n")
}