Логический тип данных или Bool представляет собой тип данных хранящий в себе значение истины. Bool принимает значение true
или false
и используется для определения условий ветвления и логических операций.
bool isSolidityCool = true;
Сравнение boolean значений
Сравнение булевых значений в Solidity выполняется так же, как и в других языках программирования. Результатом операции сравнения двух булевых значений является другое булево значение: true (истина) или false (ложь). Например, выражение "true && false" вернет значение false, потому что оба операнда не являются истинными.
Операторы сравнения
!
(инверсия)&&
(логическое И)||
(логическое ИЛИ)==
(равенство)!=
(неравенство)
Операторы || и && применяют общие правила короткого замыкания. Это означает, что если в выражении f(x) || g(y), переменная f(x) оценивается как true, вторая переменная оцениваться не будет.
Пример кода с bool
В Solidity, boolean значения могут использоваться для определения условий выполнения определенного кода. Например, в следующем примере кода мы используем булевую переменную isApproved
, чтобы определить, можно ли передавать определенную транзакцию:
pragma solidity ^0.8.0;
contract Approval {
bool public isApproved;
function approve() public {
// Проверяем, что отправитель является владельцем контракта
require(msg.sender == owner, "Вы не являетесь владельцем контракта");
// Меняем значение isApproved на true
isApproved = true;
}
}
В примере мы объявляем публичную переменную bool isApproved
, которая хранит состояние одобрения транзакции. Затем мы создаем функцию approve()
, которая меняет значение isApproved
на true, если отправитель является владельцем контракта.
Пример использование bool в логических операциях && (логическое "И") и || (логическое "ИЛИ"):
bool a = true;
bool b = false;
bool c = (a && b); // false
bool d = (a || b); // true
В этом случае мы задаем две переменные a , b. После чего определяем переменные c, d, которые сравнивают между собой a, b посредством логических операторов.
Видео о Boolean в Solidity
Подпишись и получи доступ к бесплатным курсам и обучающим материалам от Solidity University! Изучай Solidity и Блокчейн Разработку вместе с нами!