Go Basics
Go if, else and switch
Choose what runs with if and switch, including Go's switch without a value.
What you'll learn
- if, else if, else
- if with a short statement
- switch and default
score = 87
- 1
score >= 90false, skip - 2
score >= 70true - 3
"Good"this branch runs
The first true branch runs
An if statement runs a block only when its condition is true. switch compares one value with several cases, or, without a value, picks the first case that is true.
The conditions are checked from top to bottom and only the first true branch runs, so 87 prints Good. An if can declare a variable before its condition, as remainder shows. A case can list several values, and Go does not fall through to the next case.
Key points
- Conditions are checked from top to bottom.
- switch does not fall through to the next case.
- A case can list several values.
Runnable Go example
main.go
package main
import "fmt"
func main() {
score := 87
if score >= 90 {
fmt.Println("Excellent")
} else if score >= 70 {
fmt.Println("Good")
} else {
fmt.Println("Keep practicing")
}
if remainder := score % 2; remainder == 0 {
fmt.Println("even")
} else {
fmt.Println("odd")
}
switch {
case score >= 90:
fmt.Println("Grade: A")
case score >= 80:
fmt.Println("Grade: B")
default:
fmt.Println("Grade: C")
}
switch day := "sat"; day {
case "sat", "sun":
fmt.Println("weekend")
default:
fmt.Println("weekday")
}
}
Good
odd
Grade: B
weekendPractice
Open the example in the online compiler, change a value or add a line, and predict the output before you run it. Then break the code on purpose and read the compiler's message.
Finished this lesson?
Mark it as learned to track your progress.
Your progress is saved in this browser Sign in to keep it on every device.
Practice with a challenge
Use what this lesson covers to solve a real problem. Each challenge runs in your browser with instant tests and an AI review.
- Letter Grade Turn a test score into a letter grade. Easy
- Leap Year Check whether a year follows the Gregorian leap-year rule. Easy