O que são Operadores Lógicos no Go?

Olá, pessoal! Vamos dar continuidade ao nosso treinamento no canal Ralf Lima. Hoje vamos aprender sobre os operadores lógicos e entender como combinar duas ou mais condições para criar lógicas mais complexas no Go.

Enquanto os operadores relacionais comparam apenas dois valores, os operadores lógicos servem para unir essas comparações. Eles avaliam expressões booleanas e devolvem um único resultado: true ou false.

Tabela de Operadores Lógicos

No Go, trabalhamos com três operadores lógicos principais. Veja na tabela abaixo o símbolo de cada um, como funcionam e o exemplo baseado em nosso código:

Operação Símbolo Como funciona? Exemplo Prático
E (AND) && Retorna true apenas se todas as condições forem verdadeiras. notaMatematica >= 7 && notaHistoria >= 7
OU (OR) || Retorna true se pelo menos uma das condições for verdadeira. notaMatematica >= 7 || notaHistoria >= 7
Negação (NOT) ! Inverte o estado booleano. O que é true vira false e vice-versa. !true

Entendendo a Tabela Verdade

Para não errar na hora de programar, os desenvolvedores utilizam uma regra matemática chamada Tabela Verdade. Ela mostra todas as combinações possíveis e qual será o resultado final de cada operador. Acompanhe:

  • Regra do E (&&): Pense nele como uma lista de exigências estritas. Se o aluno precisa tirar nota boa em Matemática E em História para passar de ano, ele só é aprovado (true) se cumprir ambas. Se falhar em uma, o resultado é false.
  • Regra do OU (||): Pense nele como uma alternativa camarada. Se o aluno puder escolher passar em Matemática OU em História para ganhar um prêmio, basta que ele atinja a nota em uma das matérias (true). Ele só sai de mãos vazias se falhar nas duas (false).
  • Regra da Negação (!): É o operador do contra. Se a condição diz "está chovendo = true", aplicar a negação (!) transforma o resultado em false.

Exemplo Prático Completo

Veja abaixo como fica o código estruturado para testar essa lógica com base nas notas de um aluno:

package main

import "fmt"

func main() {
    // Variáveis de exemplo
    notaMatematica := 8
    notaHistoria := 5

    // Retorno das operações lógicas
    fmt.Println("Operador lógico E:", notaMatematica >= 7 && notaHistoria >= 7)
    fmt.Println("Operador lógico OU:", notaMatematica >= 7 || notaHistoria >= 7)
    fmt.Println("Operador lógico de NEGAÇÃO:", !true)
}

Finalizamos os conteúdos desta aula sobre operadores lógicos e tabela verdade. Espero que a explicação tenha ficado clara e fácil de entender. Em caso de dúvidas, comentem nos vídeos disponíveis no YouTube.