Solidity и смарт-контракты Ethereum, урок #2 | Типы данных bool, uint, int

YOUTUBE · 19.11.2025 07:33

Ключевые темы и таймкоды

Введение в логический тип данных

0:05
  • Илья продолжает серию уроков по Solidity.
  • Solidity - язык со статической типизацией, что упрощает отладку.
  • Переменные в Solidity должны иметь тип, например, bool.

Переменные состояния и их значение

1:05
  • Переменные состояния хранятся в блокчейне и не являются временными.
  • Переменные называются в формате mix-case.
  • Переменные всегда имеют значение по умолчанию.

Логический тип данных

2:02
  • Логический тип может принимать значения true или false.
  • Переменные по умолчанию имеют значение false.
  • Для присвоения значения используется оператор =.

Функции и аргументы

3:02
  • Функции могут принимать аргументы, например, bool.
  • Временные переменные создаются внутри функций и уничтожаются после их завершения.
  • Переменные состояния хранятся в блокчейне, а временные - в памяти.

Логические операции

4:58
  • Логическое и возвращает true, если оба операнда истинны.
  • Логическое или возвращает true, если хотя бы один операнд истинен.
  • Логическое не возвращает противоположное значение.

Условные выражения

6:39
  • Логические значения можно использовать в условных выражениях if, else, else if.
  • В будущем будет обсуждаться использование дробных чисел.

Целые числа

7:37
  • В Solidity есть два типа целых чисел: без знака int и со знаком uint.
  • Int не хранит информацию о знаке числа, uint может быть отрицательным.
  • Int используется для работы с входными денежными средствами.

Размерность чисел

9:33
  • Размерность числа указывает максимальное допустимое значение.
  • uint256 использует 256 бит для хранения числа.
  • Можно указать меньшую размерность, например, uint8 для экономии памяти.

Работа с uint8

11:26
  • uint8 может хранить числа от 0 до 255.
  • Размерность uint8 можно увеличивать с шагом 8 до 256.
  • uint8 удобен для организации циклов со счетчиком.

Работа с int

12:24
  • int также имеет размерность от 8 до 256 с шагом 8.
  • Для хранения информации о знаке резервируется один бит.
  • Максимальное число для int - 127, минимальное - -128.

Математические операции

14:19
  • Можно складывать, вычитать, умножать и делить числа.
  • Деление целых чисел возвращает целое число.
  • Унарный минус меняет знак числа.

Сравнение чисел

15:17
  • Используются операторы равенства, неравенства, больше и меньше.
  • Результат сравнения - логическое значение true или false.

Определение минимального и максимального значений

16:16
  • Можно определить минимальное и максимальное значения для типа данных.
  • Пример: uint8 min = 0, max = 255.

Обработка ошибок переполнения

18:08
  • При превышении максимального значения возникает ошибка.
  • Ключевое слово assert позволяет вернуться к началу диапазона при ошибке.
  • Пример: assert возвращает значение 0 при достижении максимального значения.