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}
$ 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.