РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1385 of 1593 menu

Функция flag.BoolVar

Функция flag.BoolVar предназначена для связывания флага командной строки с уже существующей переменной типа bool. В первый параметр она принимает указатель на переменную, во второй - имя флага, в третий - значение по умолчанию, в четвертый - текст описания флага.

Синтаксис

flag.BoolVar(ptr *bool, name string, value bool, usage string)

Пример

Давайте создадим флаг -debug, который будет управлять режимом отладки программы:

package main import ( "flag" "fmt" ) func main() { var debug bool flag.BoolVar(&debug, "debug", false, "enable debug mode") flag.Parse() fmt.Printf("debug mode: %t", debug) }

Результат выполнения кода без флагов:

"debug mode: false"

Пример

Рассмотрим пример с двумя флагами типа bool:

package main import ( "flag" "fmt" ) func main() { var verbose bool var quiet bool flag.BoolVar(&verbose, "v", false, "verbose output") flag.BoolVar(&quiet, "q", false, "quiet mode") flag.Parse() if verbose { fmt.Println("verbose mode enabled") } if quiet { fmt.Println("quiet mode enabled") } }

Результат выполнения кода с флагами -v -q:

"verbose mode enabled" "quiet mode enabled"

Пример

Использование флага для управления логикой программы:

package main import ( "flag" "fmt" ) func main() { var enableFeature bool flag.BoolVar(&enableFeature, "feature", false, "enable experimental feature") flag.Parse() if enableFeature { fmt.Println("experimental feature is active") } else { fmt.Println("experimental feature is disabled") } }

Результат выполнения кода с флагом -feature:

"experimental feature is active"

Смотрите также

  • функцию flag.Bool,
    которая возвращает указатель на значение флага
  • функцию flag.StringVar,
    которая связывает флаг с переменной типа string
  • функцию flag.IntVar,
    которая связывает флаг с переменной типа int
  • функцию flag.Parse,
    которая обрабатывает флаги командной строки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить