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

Функция flag.String

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

Синтаксис

flag.String(name, defaultValue, usage)

Пример с одним флагом

Давайте определим строковый флаг -name со значением по умолчанию "guest" и описанием "user name":

package main import ( "flag" "fmt" ) func main() { name := flag.String("name", "guest", "user name") flag.Parse() fmt.Println("Hello,", *name) }

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

"Hello, guest"

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

"Hello, John"

Пример с несколькими флагами

Определим два строковых флага -username и -role со значениями по умолчанию:

package main import ( "flag" "fmt" ) func main() { username := flag.String("username", "admin", "user name") role := flag.String("role", "user", "user role") flag.Parse() fmt.Printf("Username: %s, Role: %s\n", *username, *role) }

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

"Username: john, Role: manager"

Проверка установки флага

Чтобы определить, был ли указан флаг, можно использовать функцию flag.Visit. Давайте проверим, был ли передан флаг -config:

package main import ( "flag" "fmt" ) func main() { config := flag.String("config", "config.json", "config file path") flag.Parse() exists := false flag.Visit(func(f *flag.Flag) { if f.Name == "config" { exists = true } }) fmt.Printf("config flag specified: %v\n", exists) fmt.Printf("config path: %s\n", *config) }

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

"config flag specified: false" "config path: config.json"

Результат выполнения с флагом -config=custom.json:

"config flag specified: true" "config path: custom.json"

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

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