Lição: 011: Trabalhando com Tipos Booleanos em Solidity
Em Solidity, um tipo booleano representa um valor que pode ser true
ou false
. Booleanos são frequentemente utilizados em instruções condicionais, controle de fluxo e flags. Nesta aula, vamos explorar como declarar, inicializar e usar tipos booleanos em Solidity através de exemplos simples.
Declarando Variáveis Booleanas
Você pode declarar uma variável booleano usando a palavra-chave bool
. Aqui está um exemplo simples:
pragma solidity ^0.8.0;
contract ExemploBooleano {
bool public estaAtivo; // Variável booleana pública
constructor() {
estaAtivo = false; // Valor inicial definido como false
}
}
Neste exemplo, declaramos uma variável booleana pública estaAtivo
e a inicializamos com o valor false
no construtor.
Atribuindo Valores Booleanos
Você pode atribuir valores a variáveis booleanas diretamente:
function ativar() public {
estaAtivo = true; // Define estaAtivo como true
}
function desativar() public {
estaAtivo = false; // Define estaAtivo como false
}
A função ativar
define a variável estaAtivo
como true
, enquanto a função desativar
a redefine como false
.
Usando Booleanos em Instruções Condicionais
Booleanos desempenham um papel crucial no controle de fluxo. Aqui está um exemplo de como usar um booleano em uma instrução condicional:
function status() public view returns (string memory) {
if (estaAtivo) {
return "O contrato está ativo.";
} else {
return "O contrato está inativo.";
}
}
Na função status
, verificamos o valor de estaAtivo
. Se for avaliado como true
, retornamos "O contrato está ativo." Caso contrário, retornamos "O contrato está inativo."
Operações Lógicas com Booleanos
Você pode realizar operações lógicas usando valores booleanos. Solidity suporta os seguintes operadores lógicos:
&&
(E Lógico)||
(OU Lógico)!
(NÃO Lógico)
Aqui está um exemplo que demonstra essas operações:
contract ExemploLogico {
bool public flag1;
bool public flag2;
constructor() {
flag1 = true; // Estado inicial de flag1
flag2 = false; // Estado inicial de flag2
}
function verificarFlags() public view returns (string memory) {
if (flag1 && flag2) {
return "Ambas as flags são verdadeiras.";
} else if (flag1 || flag2) {
return "Pelo menos uma flag é verdadeira.";
} else {
return "Ambas as flags são falsas.";
}
}
function alternarFlag1() public {
flag1 = !flag1; // Alternar flag1
}
function alternarFlag2() public {
flag2 = !flag2; // Alternar flag2
}
}
Neste exemplo, utilizamos operações lógicas para verificar o estado de flag1
e flag2
. A função verificarFlags
retorna uma mensagem correspondente com base nos valores booleanos. As funções alternarFlag1
e alternarFlag2
permitem alternar o estado de cada flag.
Conclusão
Nesta aula, abordamos como trabalhar com tipos booleanos em Solidity. Aprendemos a declarar e inicializar variáveis booleanas, usá-las em instruções condicionais e realizar operações lógicas. Compreender booleanos é essencial, pois eles formam a base de muitas estruturas de controle dentro dos contratos inteligentes.
Experimente os exemplos acima e considere como você poderia incorporar lógica booleana em suas próprias aplicações Solidity!