Coding for All
Lesson 9: Else
Else Do one thing when true, another when false.
1package main
2
3import "fmt"
4
5func main() {
6 isRaining := false
7 if isRaining {
8 fmt.Println("Take an umbrella!")
9 } else {
10 fmt.Println("Enjoy the sunshine!")
11 }
12}
Terminal
$ go run main.go
Enjoy the sunshine!
Every line, explained
package main
Every Go file starts by saying which package it belongs to. package main means "this is a program you can run", and Go will look inside it for func main.
import "fmt"
import brings in a package from Go's standard library. "fmt" (short for format) is the one full of printing tools, like fmt.Println.
func main() {
func main() { ... } is where a Go program starts. When you run the program, Go finds func main inside package main and runs everything between its braces, top to bottom.
isRaining := false
:= is Go's declare-and-assign: it creates a new variable AND stores a value in one step, and Go works out the type by itself. You will use := constantly in Go. (No semicolon needed; Go adds them for you behind the scenes.)
if isRaining {
if checks a condition. Go style: NO round brackets around the condition, but the curly braces { } are always required, and the { must sit on the same line as the if. The condition is just the variable isRaining, which is false, so this block is skipped.
fmt.Println("Take an umbrella!")
fmt.Println(...) prints what is inside the brackets to the terminal, then moves to a new line (Println is short for "print line"). The capital P matters: in Go, the tools a package shares all start with a capital letter. Skipped: the condition above is false.
} else {
} else { must be written exactly like this in Go: closing brace, else, and opening brace all on ONE line. Go is famously strict about layout: a tool called gofmt keeps every Go program in the world formatted the same way.
fmt.Println("Enjoy the sunshine!")
fmt.Println(...) prints what is inside the brackets to the terminal, then moves to a new line (Println is short for "print line"). The capital P matters: in Go, the tools a package shares all start with a capital letter. This is the line that runs.
}
This } closes the else block.
}
This closing brace } ends func main.