Функция flag.Int
Функция flag.Int объявляет флаг командной строки
с целочисленным значением типа int. Она принимает
три параметра: имя флага (строку), значение по умолчанию
(целое число) и описание флага (строку). Функция
возвращает указатель на переменную типа int,
которая будет содержать значение флага после вызова
flag.Parse.
Синтаксис
flag.Int(name string, value int, usage string) *int
Пример ⁅n="sect"⁆
Давайте объявим флаг '-port' со значением по умолчанию 8080
и описанием "port to listen on":
package main
import (
"flag"
"fmt"
)
func main() {
port := flag.Int("port", 8080, "port to listen on")
flag.Parse()
fmt.Println(*port)
}
Результат выполнения кода без указания флага:
8080
Пример ⁅n="sect"⁆
Давайте объявим флаг '-count' со значением по умолчанию 5
и описанием "number of retries":
package main
import (
"flag"
"fmt"
)
func main() {
count := flag.Int("count", 5, "number of retries")
flag.Parse()
fmt.Printf("count: %d\n", *count)
}
Результат выполнения кода с указанием флага:
go run main.go -count=10
"count: 10"
Пример ⁅n="sect"⁆
Давайте объявим несколько флагов: '-age' и '-limit'
со значениями по умолчанию 30 и 100 соответственно:
package 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)
}
Результат выполнения кода с указанием флагов:
go run main.go -age=25 -limit=200
"age: 25, limit: 200"
Смотрите также
-
функцию
flag.Int64,
которая объявляет 64-битный целочисленный флаг -
функцию
flag.Uint,
которая объявляет беззнаковый целочисленный флаг -
функцию
flag.IntVar,
которая привязывает целочисленный флаг к существующей переменной -
функцию
flag.Parse,
которая разбирает командную строку и заполняет объявленные флаги