Em determinadas situações, precisamos realizar atribuições simples com o comando if-else em
que os valores true ou false são usados como atribuição.
Como os operadores relacionais e lógicos retornam true ou false como resultado, podemos declarar
uma atribuição diretamente sem o uso do comando if-else como visto na sintaxe a seguir:
Sintaxe
nome_variavel = variavel1|expressao1 operador variavel2|expressao2
No exemplo abaixo, é mostrada a atribuição básica de valores true ou false em que utilizamos o
comando if-else:
Exemplo 7: atribuição com if-else
package main
import "fmt"
func main() {
a := 1
b := 2
flag := false
if a > b {
flag = true
} else {
flag = false
}
fmt.Println(flag)
}
Saída
false
O exemplo acima pode ser resumido em apenas uma atribuição direta à uma variável utilizando
a sintaxe vista anteriormente:
Exemplo 8: atribuição sem if-else
package main
import "fmt"
func main() {
a := 1
b := 2
flag := a > b
fmt.Println(flag)
}
Saída
false
Todos os operadores relacionais podem ser utilizados nesse tipo de situação vista acima não
ficando limitado ao operador relacional (>) utilizado nos exemplos.
Para expressões mais complexas envolvendo outros operadores, é necessário utilizar (&&) ou (||)
para separar corretamente as expressões contendo os operadores relacionais.