Функция flag.Int64

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

Синтаксис

goflag.Int64(name string, value int64, usage string) *int64

Пример

Давайте определим флаг -age с типом int64 и значением по умолчанию 25:

gopackage main

import (
  "flag"
  "fmt"
)

func main() {
  age := flag.Int64("age", 25, "user age in years")
  flag.Parse()

  fmt.Printf("Age: %d\n", *age)
}

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

go"Age: 25"

Результат выполнения кода с параметром -age=30:

go"Age: 30"

Пример

Используем флаг -count для обработки большого числа, близкого к максимальному значению int64:

gopackage main

import (
  "flag"
  "fmt"
)

func main() {
  count := flag.Int64("count", 9223372036854775807, "large number count")
  flag.Parse()

  if *count > 1000000 {
    fmt.Printf("Count is huge: %d\n", *count)
  } else {
    fmt.Printf("Count is: %d\n", *count)
  }
}

Результат выполнения кода с параметром -count=5000000:

go"Count is huge: 5000000"

Пример

Если флаг не передан, используется значение по умолчанию. Проверим это на флаге -port:

gopackage main

import (
  "flag"
  "fmt"
)

func main() {
  port := flag.Int64("port", 8080, "server port number")
  flag.Parse()

  fmt.Printf("Server will run on port: %d\n", *port)
}

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

go"Server will run on port: 8080"

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

go"Server will run on port: 9090"

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

  • функцию flag.Int64,
    которая определяет флаг с типом int64
  • функцию flag.Int,
    которая определяет флаг с типом int
  • функцию flag.Uint64,
    которая определяет флаг с типом uint64
  • функцию flag.Parse,
    которая разбирает переданные флаги