Go Basics

Go if, else and switch

Choose what runs with if and switch, including Go's switch without a value.

  • Beginner
  • 4 min read
  • 1 runnable example
What you'll learn
  • if, else if, else
  • if with a short statement
  • switch and default
score = 87
  1. 1score >= 90false, skip
  2. 2score >= 70true
  3. 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

  1. Conditions are checked from top to bottom.
  2. switch does not fall through to the next case.
  3. A case can list several values.

Runnable Go example

Go
Run code →
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")
	}
}
Get a Run button for this example Result of running the code
Good
odd
Grade: B
weekend

Practice

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.

Next: FizzBuzz →

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.

All challenges