Go - Operadores Lógicos

A tabela a seguir lista todos os operadores lógicos suportados pela linguagem Go. Assumir variávelA detém 1 e variável B segura 0, então -

Operador Descrição Exemplo
&& Operador lógico chamado AND. Se ambos os operandos forem diferentes de zero, a condição se torna verdadeira. (A && B) é falso.
|| Operador lógico ou chamado. Se qualquer um dos dois operandos for diferente de zero, a condição se torna verdadeira. (A || B) é verdade.
! Operador lógico chamado NOT. Use para reverter o estado lógico de seu operando. Se uma condição for verdadeira, o operador lógico NOT tornará falso. ! (A && B) é verdade.

A tabela a seguir mostra todos os operadores lógicos suportados pela linguagem Go. Assumir variávelA é verdadeiro e variável B é falso, então -

Operador Descrição Exemplo
&& Operador lógico chamado AND. Se ambos os operandos forem falsos, a condição se tornará falsa. (A && B) é falso.
|| Operador lógico ou chamado. Se qualquer um dos dois operandos for verdadeiro, a condição se torna verdadeira. (A || B) é verdade.
! Operador lógico chamado NOT. Use para reverter o estado lógico de seu operando. Se uma condição for verdadeira, então o operador lógico NOT a tornará falsa. ! (A && B) é verdade.

Exemplo

Tente o exemplo a seguir para entender todos os operadores lógicos disponíveis na linguagem de programação Go -

package main

import "fmt"

func main() {
   var a bool = true
   var b bool = false
   if ( a && b ) {
      fmt.Printf("Line 1 - Condition is true\n" )
   }
   if ( a || b ) {
      fmt.Printf("Line 2 - Condition is true\n" )
   }
   
   /* lets change the value of  a and b */
   a = false
   b = true
   if ( a && b ) {
      fmt.Printf("Line 3 - Condition is true\n" )
   } else {
      fmt.Printf("Line 3 - Condition is not true\n" )
   }
   if ( !(a && b) ) {
      fmt.Printf("Line 4 - Condition is true\n" )
   }
}

Quando você compila e executa o programa acima, ele produz o seguinte resultado -

Line 2 - Condition is true
Line 3 - Condition is not true
Line 4 - Condition is true