Tutorials References Exercises Videos Menu
Create Website Get Certified Upgrade

Go Float Data Types


Go Float Data Types

The float data types are used to store positive and negative numbers with a decimal point, like 35.3, -2.34, or 3597.34987.

The float data type has two keywords:

Type Size Range
float32 32 bits -3.4e+38 to 3.4e+38.
float64 64 bits -1.7e+308 to +1.7e+308.

Tip: The default type for float is float64. If you do not specify a type, the type will be float64.


The float32 Keyword

Example

This example shows how to declare some variables of type float32:

package main
import ("fmt")

func main() {
  var x float32 = 123.78
  var y float32 = 3.4e+38
  fmt.Printf("Type: %T, value: %v\n", x, x)
  fmt.Printf("Type: %T, value: %v", y, y)
}
Try it Yourself »

The float64 Keyword

The float64 data type can store a larger set of numbers than float32.

Example

This example shows how to declare a variable of type float64:

package main
import ("fmt")

func main() {
  var x float64 = 1.7e+308
  fmt.Printf("Type: %T, value: %v", x, x)
}
Try it Yourself »

Which Float Type to Use?

The type of float to choose, depends on the value the variable has to store.

Example

This example will result in an error because 3.4e+39 is out of range for float32:

package main
import ("fmt")

func main() {
  var x float32= 3.4e+39
  fmt.Println(x)
}

Result:

./prog.go:5:7: constant 3.4e+39 overflows float32

Try it Yourself »