Функция flag.Int

Функция flag.Int объявляет флаг командной строки с целочисленным значением типа int. Она принимает три параметра: имя флага (строку), значение по умолчанию (целое число) и описание флага (строку). Функция возвращает указатель на переменную типа int, которая будет содержать значение флага после вызова flag.Parse.

Синтаксис

goflag.Int(name string, value int, usage string) *int

Пример ⁅n="sect"⁆

Давайте объявим флаг '-port' со значением по умолчанию 8080 и описанием "port to listen on":

gopackage main

import (
  "flag"
  "fmt"
)

func main() {
  port := flag.Int("port", 8080, "port to listen on")
  flag.Parse()
  fmt.Println(*port)
}

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

go8080

Пример ⁅n="sect"⁆

Давайте объявим флаг '-count' со значением по умолчанию 5 и описанием "number of retries":

gopackage main

import (
  "flag"
  "fmt"
)

func main() {
  count := flag.Int("count", 5, "number of retries")
  flag.Parse()
  fmt.Printf("count: %d\n", *count)
}

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

gogo run main.go -count=10
"count: 10"

Пример ⁅n="sect"⁆

Давайте объявим несколько флагов: '-age' и '-limit' со значениями по умолчанию 30 и 100 соответственно:

gopackage main

import (
  "flag"
  "fmt"
)

func main() {
  age := flag.Int("age", 30, "user age")
  limit := flag.Int("limit", 100, "request limit")
  flag.Parse()
  fmt.Printf("age: %d, limit: %d\n", *age, *limit)
}

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

gogo run main.go -age=25 -limit=200
"age: 25, limit: 200"

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

  • функцию flag.Int64,
    которая объявляет 64-битный целочисленный флаг
  • функцию flag.Uint,
    которая объявляет беззнаковый целочисленный флаг
  • функцию flag.IntVar,
    которая привязывает целочисленный флаг к существующей переменной
  • функцию flag.Parse,
    которая разбирает командную строку и заполняет объявленные флаги