Функция flag.Int64
Функция flag.Int64 определяет флаг командной строки
с типом int64. Она принимает три параметра:
название флага, значение по умолчанию и описание флага,
которое выводится при использовании флага -help.
Функция возвращает указатель на переменную типа int64,
в которую будет записано переданное пользователем значение.
Синтаксис
flag.Int64(name string, value int64, usage string) *int64
Пример
Давайте определим флаг -age с типом int64
и значением по умолчанию 25:
package main
import (
"flag"
"fmt"
)
func main() {
age := flag.Int64("age", 25, "user age in years")
flag.Parse()
fmt.Printf("Age: %d\n", *age)
}
Результат выполнения кода без параметров:
"Age: 25"
Результат выполнения кода с параметром -age=30:
"Age: 30"
Пример
Используем флаг -count для обработки большого числа,
близкого к максимальному значению int64:
package 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:
"Count is huge: 5000000"
Пример
Если флаг не передан, используется значение по умолчанию.
Проверим это на флаге -port:
package 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)
}
Результат выполнения кода без параметров:
"Server will run on port: 8080"
Результат выполнения кода с параметром -port=9090:
"Server will run on port: 9090"
Смотрите также
-
функцию
flag.Int64,
которая определяет флаг с типом int64 -
функцию
flag.Int,
которая определяет флаг с типом int -
функцию
flag.Uint64,
которая определяет флаг с типом uint64 -
функцию
flag.Parse,
которая разбирает переданные флаги