Menu
Coddy logo textTech

Fundamentos de Precedência de Operadores

Parte da seção Fundamentos do Journey de GO da Coddy — lição 27 de 109.

Precedência de operadores determina a ordem em que as operações são realizadas em uma expressão. Operações com precedência maior são realizadas antes daquelas com precedência menor.

Crie um programa que demonstre a precedência de operadores:

result1 := 5 + 3 * 2
result2 := (5 + 3) * 2
fmt.Println("5 + 3 * 2 =", result1)
fmt.Println("(5 + 3) * 2 =", result2)

Isso produz:

5 + 3 * 2 = 11
(5 + 3) * 2 = 16

Na primeira expressão, a multiplicação (*) tem precedência maior que a adição (+), então 3 * 2 é calculada primeiro. Na segunda expressão, os parênteses substituem a precedência padrão, forçando 5 + 3 a ser calculada primeiro.

challenge icon

Desafio

Iniciante

Neste desafio, você praticará a compreensão da precedência de operadores em Go. Você tem várias variáveis com valores diferentes e precisa corrigir a expressão na variável result para obter a saída esperada.

A expressão atualmente possui um posicionamento incorreto de parênteses. Sua tarefa é adicionar parênteses nos lugares certos para fazer com que a expressão seja avaliada como true.

Folha de consulta

A precedência de operadores determina a ordem em que as operações são realizadas em uma expressão. Operações com precedência maior são realizadas antes daquelas com precedência menor.

A multiplicação (*) tem precedência maior do que a adição (+):

result1 := 5 + 3 * 2  // igual a 11 (3 * 2 primeiro, depois + 5)
result2 := (5 + 3) * 2  // igual a 16 (5 + 3 primeiro, depois * 2)

Use parênteses para substituir a precedência padrão e controlar a ordem das operações.

Experimente você mesmo

package main

import "fmt"

func main() {
	// Estas variáveis já estão configuradas para você
	a := true
	b := false
	c := true
	
	// TODO: Adicione parênteses à expressão abaixo para fazer com que ela seja avaliada como true
	// HINT: A expressão precisa ser avaliada como true
	result := a && b || c
	
	// Não modifique a linha abaixo
	fmt.Println(result)
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos