Go Fundamentals - Variables, Types & Basic Syntax
The Bug That Taught Me Go's Type System
func calculateDiscount(price float64, discount int) float64 {
return price - (price * discount / 100)
}
result := calculateDiscount(100.50, 15)
fmt.Printf("Final price: $%.2f\n", result)
// Expected: Final price: $85.43
// Got: Final price: $100.50return price - (price * float64(discount) / 100)
// Now: Final price: $85.43Variable Declarations: Three Ways
1. The var Declaration
var Declaration2. Declaration with Initialization
3. Short Declaration := (Most Common)
:= (Most Common)Multiple Declarations
Basic Types
Numeric Types
String Type
Boolean Type
Type Conversions (No Implicit Conversions!)
Common Conversions
Constants
Untyped Constants (Powerful Feature)
The iota Enumerator
iota EnumeratorType Inference and Type Aliases
Type Inference
Type Aliases
Zero Values: A Safety Feature
Practical Example: Building a Config Parser
Common Mistakes I Made
1. Unused Variables
2. Short Declaration Scope
3. Shadowing Variables
4. Integer Division Surprise
Your Challenge
Key Takeaways
What I Learned
Last updated