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

Функция flag.Uint64

Функция flag.Uint64 объявляет флаг командной строки с типом uint64. Она принимает три параметра: имя флага, значение по умолчанию и описание флага. Функция возвращает указатель на переменную типа *uint64, в которую после вызова flag.Parse будет записано значение, переданное в командной строке. Если флаг не указан, используется значение по умолчанию.

Синтаксис

flag.Uint64(name string, value uint64, usage string) *uint64

Пример

Давайте объявим флаг timeout с типом uint64 и значением по умолчанию 30. Затем разберем командную строку и выведем значение флага:

package main import ( "flag" "fmt" ) func main() { timeout := flag.Uint64("timeout", 30, "timeout in seconds") flag.Parse() fmt.Println(*timeout) }

Если запустить программу с флагом:

"go run main.go -timeout 60"

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

60

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

"go run main.go"

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

30

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

Давайте объявим два флага типа uint64: port и timeout. После разбора командной строки выведем их значения:

package main import ( "flag" "fmt" ) func main() { port := flag.Uint64("port", 8080, "server port") timeout := flag.Uint64("timeout", 30, "timeout in seconds") flag.Parse() fmt.Printf("port: %d, timeout: %d", *port, *timeout) }

Запустим программу с флагами:

"go run main.go -port 9090 -timeout 120"

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

"port: 9090, timeout: 120"

Обработка ошибок

Если в командной строке передано некорректное значение для флага типа uint64, например, отрицательное число или нечисловое значение, программа выведет сообщение об ошибке и завершится:

package main import ( "flag" "fmt" ) func main() { timeout := flag.Uint64("timeout", 30, "timeout in seconds") flag.Parse() fmt.Println(*timeout) }

Запустим программу с некорректным значением:

"go run main.go -timeout -10"

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

"invalid value \"-10\" for flag -timeout: parse error"

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

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