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

Функция flag.Set

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

Синтаксис

flag.Set(name, value string) error

Пример

Давайте определим строковый флаг и установим ему новое значение с помощью flag.Set:

package main import ( "flag" "fmt" ) func main() { var name = flag.String("name", "default", "user name") flag.Parse() err := flag.Set("name", "john") if err != nil { fmt.Println("Error:", err) return } fmt.Println(*name) }

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

"john"

Пример

Давайте посмотрим, как flag.Set работает с числовым флагом:

package main import ( "flag" "fmt" ) func main() { var age = flag.Int("age", 18, "user age") flag.Parse() err := flag.Set("age", "25") if err != nil { fmt.Println("Error:", err) return } fmt.Println(*age) }

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

"25"

Пример

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

package main import ( "flag" "fmt" ) func main() { var enabled = flag.Bool("enabled", false, "enable feature") flag.Parse() err := flag.Set("enabled", "not-a-bool") if err != nil { fmt.Println("Error:", err) return } fmt.Println(*enabled) }

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

"Error: invalid boolean value not-a-bool for flag enabled: parse error"

Пример

Попробуем установить значение для несуществующего флага:

package main import ( "flag" "fmt" ) func main() { err := flag.Set("unknown", "value") if err != nil { fmt.Println("Error:", err) return } fmt.Println("Success") }

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

"Error: no such flag -unknown"

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

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