Тип float64

Тип float64 в Go предназначен для хранения чисел с плавающей точкой двойной точности. Этот тип занимает 64 бита памяти и позволяет работать с дробными числами в широком диапазоне значений. Переменные типа float64 объявляются с использованием ключевого слова var или короткой формы объявления :=. Литералы чисел с плавающей точкой могут содержать десятичную точку или экспоненциальную запись.

Синтаксис

govar variable float64
variable = 3.14159

// Короткое объявление
pi := 3.14159

// Экспоненциальная запись
big := 1.5e10

Пример

Давайте объявим переменную типа float64 и выведем ее значение:

gopackage main

import "fmt"

func main() {
  var pi float64 = 3.14159
  fmt.Println(pi)
}

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

go3.14159

Пример

Тип float64 позволяет выполнять все стандартные арифметические операции:

gopackage main

import "fmt"

func main() {
  a := 10.5
  b := 3.2
  
  sum := a + b
  diff := a - b
  prod := a * b
  quot := a / b
  
  fmt.Println(sum, diff, prod, quot)
}

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

go"13.7 7.3 33.6 3.28125"

Пример

При работе с дробными числами следует учитывать погрешности вычислений:

gopackage main

import "fmt"

func main() {
  var a float64 = 0.1
  var b float64 = 0.2
  var c float64 = 0.3
  
  res := a + b
  fmt.Println(res == c)
  fmt.Println(res)
}

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

go"false"
"0.30000000000000004"

Пример

Для преобразования между типами используется явное приведение:

gopackage main

import "fmt"

func main() {
  var i int = 42
  f := float64(i)
  fmt.Println(f)
  
  var f2 float64 = 3.99
  i2 := int(f2)
  fmt.Println(i2)
}

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

go"42"
"3"

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

  • тип float32,
    который представляет число с плавающей точкой одинарной точности
  • тип int,
    который представляет целое число со знаком
  • тип uint,
    который представляет целое число без знака
  • тип complex128,
    который представляет комплексное число с двумя float64 компонентами