Solidity University

Boolean

Boolean
Photo by Daniels Joffe / Unsplash

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

Информация об авторе
Nick Newermin

Nick Newermin

Привет! Меня зовут Николай, я занимаюсь web3 разработкой уже более пяти лет, веду канал "Блокчейн Разработчик" и создаю образовательную онлайн платформу Solidity University. #Web3ForEveryone

Solidity University

Подпишись и получи бесплатный доступ к нашим курсам и обучающим материалам

Solidity University

Отлично! Вы успешно зарегистрировались.

С возвращением! Вы успешно вошли в систему.

Вы успешно подписались на Solidity University.

Успех! Проверьте вашу электронную почту для входа по магической ссылке.

Успех! Ваши платежные данные обновлены.

Ваши платежные данные не были обновлены.