AnyCompiler

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.

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.

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".