Numbers & Math (Integers, Floats, Math Package) - Go Tutorial for Beginners #4
Video: Numbers & Math (Integers, Floats, Math Package) - Go Tutorial for Beginners #4 by Taught by Celeste AI - AI Coding Coach
Take the quiz on the full lesson page
Test what you've read · interactive walkthrough
Numbers & Math in Go: Integers, Floats, and the Math Package
In Go, working with numbers involves understanding integer and floating-point types, arithmetic operations, and the math package's utilities. This guide covers integer arithmetic, float precision, division differences, math functions like square root and power, and how to convert between numeric types safely.
Code
package main
import (
"fmt"
"math"
)
func main() {
// Integer arithmetic
a, b := 17, 5
fmt.Println("a + b =", a+b) // Addition: 22
fmt.Println("a - b =", a-b) // Subtraction: 12
fmt.Println("a * b =", a*b) // Multiplication: 85
fmt.Println("a / b =", a/b) // Integer division: 3 (decimal discarded)
fmt.Println("a % b =", a%b) // Modulo (remainder): 2
// Floating-point numbers
var f1 float64 = 17.0
var f2 float64 = 5.0
fmt.Printf("f1 / f2 = %.2f\n", f1/f2) // Float division: 3.40
// Float32 uses less memory but less precision
var f3 float32 = 3.14159
fmt.Printf("Float32 value: %.2f\n", f3)
// Using the math package
fmt.Println("Pi:", math.Pi) // Constant Pi
fmt.Println("Sqrt(16):", math.Sqrt(16)) // Square root: 4
fmt.Println("Pow(2, 3):", math.Pow(2, 3)) // Power: 8
fmt.Println("Round(3.7):", math.Round(3.7)) // Round to nearest: 4
fmt.Println("Floor(3.7):", math.Floor(3.7)) // Floor (down): 3
fmt.Println("Ceil(3.3):", math.Ceil(3.3)) // Ceil (up): 4
// Type conversions
var x int = 10
var y float64 = float64(x) // int to float64
fmt.Println("Converted int to float64:", y)
var z float64 = 3.99
var w int = int(z) // float64 to int (truncates decimal)
fmt.Println("Converted float64 to int:", w)
}
Key Points
- Integer division truncates the decimal part, while float division retains decimals.
- The math package offers useful constants and functions like Pi, Sqrt, Pow, Round, Floor, and Ceil.
- Floats come in float32 and float64; float64 is the default for precision.
- Modulo (%) returns the remainder of integer division.
- Explicit type conversions are required between numeric types to avoid precision loss or errors.
Ready? Take the quiz on the full lesson page →
Test what you've learned. Watch the lesson and try the interactive quiz on the same page.