Line At A Time
Lesson 16: Range Loops
Range Loops Visit every item in a slice, one by one.
1package main
2
3import "fmt"
4
5func main() {
6 fruits := []string{"apple", "banana", "cherry"}
7 for _, fruit := range fruits {
8 fmt.Println(fruit)
9 }
10}
Terminal
$ go run main.go
apple
banana
cherry
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.
fruits := []string{"apple", "banana", "cherry"}
A slice is Go's list. []string means "a slice of strings", and the items go between curly braces. Every item must be the same type.
for _, fruit := range fruits {
for ... range visits each item of a slice. range offers TWO things each trip: the position and the item. We only want the item, so we put _ (the "blank identifier", Go's way of saying "ignore this") where the position would go.
fmt.Println(fruit)
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. Runs three times, once per item, and fruit is different each time.
}
This } closes the for loop.
}
This closing brace } ends func main.