Boolean

Логический тип данных или 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 и Блокчейн Разработку вместе с нами!

Готово! Проверьте вашу почту и перейдите по ссылке.
Упс, что-то пошло не так.. Пожалуйста попробуйте ещё раз.