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 isfloat64. If you do not specify a type, the type will befloat64.
The float32 Keyword
Example
This example shows how to declare some variables of typefloat32:
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)
}
The float64 Keyword
Thefloat64 data type can store a larger set of numbers thanfloat32.
Example
This example shows how to declare a variable of typefloat64:
import ("fmt")
func main() {
var x float64 = 1.7e+308
fmt.Printf("Type: %T, value: %v", x, x)
}
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:
import ("fmt")
func main() {
var x float32= 3.4e+39
fmt.Println(x)
}
Result:
./prog.go:5:7: constant 3.4e+39 overflows float32Try it Yourself »

