Controle de Fluxo
if e else no Go funcionam como você esperaria, com uma pequena diferença em relação a muitas outras linguagens: a condição nunca precisa de parênteses, embora as chaves sejam sempre obrigatórias, mesmo para um único statement.
main.go
Teste você mesmo →package main
import "fmt"
func main() {
age := 20
if age >= 18 {
fmt.Println("You are an adult")
} else {
fmt.Println("You are a minor")
}
}Output
You are an adult
for é a única palavra-chave de loop do Go
Go não tem while nem do-while — for cobre todo tipo de loop. Com as três cláusulas, é um loop de contagem clássico; remova as cláusulas de init e post e mantenha só uma condição, e ele se comporta exatamente como um loop while em qualquer outra linguagem.
main.go
Teste você mesmo →package main
import "fmt"
func main() {
for i := 0; i < 3; i++ {
fmt.Println("counting up:", i)
}
n := 3
for n > 0 {
fmt.Println("counting down:", n)
n--
}
}Output
counting up: 0 counting up: 1 counting up: 2 counting down: 3 counting down: 2 counting down: 1
A seguir: arrays e slices — os tipos de coleção de tamanho fixo e crescente do Go.
Practice exercise
Defina uma variável score := 73. Imprima "pass" se score for 60 ou mais, caso contrário imprima "fail".