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 »