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

Функция flag.Lookup

Функция flag.Lookup позволяет получить информацию о флаге командной строки по его имени. В качестве параметра она принимает строку с именем флага. Если флаг с указанным именем существует, функция возвращает указатель на структуру flag.Flag, которая содержит информацию о флаге (имя, значение по умолчанию, описание, текущее значение). Если флаг не найден, функция возвращает nil.

Синтаксис

flag.Lookup(name)

Пример

Давайте объявим флаг "name" с типом string и воспользуемся функцией flag.Lookup для получения его структуры:

package main import ( "flag" "fmt" ) func main() { name := flag.String("name", "default", "user name") flag.Parse() fl := flag.Lookup("name") fmt.Printf("%+v\n", fl) }

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

&{Name:name Usage:user name Value:john DefValue:default}

Пример

Давайте проверим, что возвращает функция flag.Lookup при обращении к несуществующему флагу:

package main import ( "flag" "fmt" ) func main() { flag.String("name", "default", "user name") flag.Parse() fl := flag.Lookup("age") fmt.Println(fl) }

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

<nil>

Пример

Давайте получим структуру флага и извлечем из нее имя, значение по умолчанию и текущее значение:

package main import ( "flag" "fmt" ) func main() { port := flag.Int("port", 8080, "server port") flag.Parse() fl := flag.Lookup("port") if fl != nil { fmt.Println("Name:", fl.Name) fmt.Println("Value:", fl.Value) fmt.Println("Default:", fl.DefValue) } }

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

Name: port Value: 9090 Default: 8080

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

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