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.
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 |
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:
&&): 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.||): 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).!): É o operador do contra. Se a condição diz "está chovendo = true", aplicar a negação (!) transforma o resultado em false.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.