Функция flag.Float64

Функция flag.Float64 определяет флаг командной строки, который принимает число с плавающей точкой. В первый параметр мы передаем имя флага, во второй параметр мы передаем значение по умолчанию, в третий параметр мы передаем описание флага. Функция возвращает указатель на переменную типа float64, в которую будет сохранено значение, переданное в командной строке.

Синтаксис

goflag.Float64(name, value, usage)

где name - имя флага, value - значение по умолчанию, usage - описание флага.

Пример

Давайте определим флаг -ratio для передачи коэффициента с плавающей точкой:

gopackage main

import (
  "flag"
  "fmt"
)

func main() {
  ratio := flag.Float64("ratio", 1.5, "коэффициент пропорции")
  flag.Parse()
  fmt.Printf("ratio: %f\n", *ratio)
}

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

go"ratio: 2.700000"

Пример

Давайте определим флаг для процентной ставки со значением по умолчанию:

gopackage main

import (
  "flag"
  "fmt"
)

func main() {
  rate := flag.Float64("rate", 0.0, "процентная ставка")
  flag.Parse()
  if *rate > 0.0 {
    fmt.Printf("Ставка: %.2f%%\n", *rate)
  } else {
    fmt.Println("Ставка не задана")
  }
}

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

go"Ставка не задана"

Пример

Давайте используем несколько флагов с плавающей точкой для математических вычислений:

gopackage main

import (
  "flag"
  "fmt"
)

func main() {
  width := flag.Float64("width", 10.0, "ширина фигуры")
  height := flag.Float64("height", 5.0, "высота фигуры")
  flag.Parse()
  
  area := *width * *height
  fmt.Printf("Площадь: %.2f\n", area)
}

Результат выполнения кода при запуске программы с флагами -width 12.5 -height 4.5:

go"Площадь: 56.25"

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

  • функцию flag.String,
    которая определяет флаг для строковых значений
  • функцию flag.Int,
    которая определяет флаг для целочисленных значений
  • функцию flag.Bool,
    которая определяет флаг для логических значений
  • функцию flag.Float64Var,
    которая связывает флаг с существующей переменной