Skip to content

Conditionals in Go

We use the if statement to execute different instructions depending on a condition:

if age < 18 {
	//underage
}

The else part is optional:

if age < 18 {
	//underage
} else {
  //adult
}

and can be combined with other if:

if age < 12 {
	//child
} else if age < 18  {
  //teen
} else {
	//adult
}

If you define any variable inside the if, that’s only visible inside the if (same applies to else and anywhere you open a new block with {})

If you’re going to have many different if statements to check a single condition it’s probably better to use switch:

switch age {
case 0: fmt.Println("Zero years old")
case 1: fmt.Println("One year old")
case 2: fmt.Println("Two years old")
case 3: fmt.Println("Three years old")
case 4: fmt.Println("Four years old")
default: fmt.Println(i + " years old")
}

Compared to C, JavaScript and other languages you don’t need to have a break after each case

→ Get my Go Handbook

I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter

JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025

Bootcamp 2025

Join the waiting list