Константы
Часть раздела Основы путешествия по Solidity на Coddy. Урок 29 из 53.
Используйте constant на уровне контракта для значения, фиксированного во время компиляции. Укажите его значение в объявлении. Константе нельзя присвоить новое значение. Она полезна для фиксированного коэффициента преобразования или неизменного правила, общего для нескольких функций.
Объявите её в области видимости контракта:
uint256 constant HOURS_PER_DAY = 24;Используйте её внутри предоставленной функции main:
uint256 daysCount = 3;
console.log(daysCount * HOURS_PER_DAY);HOURS_PER_DAY фиксировано на уровне двадцати четырёх, поэтому три дня содержат семьдесят два часа. В отличие от обычной инициализации состояния, константа встраивается компилятором в места её использования. Имена в верхнем регистре — общепринятое соглашение для констант, а не требование компилятора.
Константа инициализируется при объявлении, и ей нельзя присвоить новое значение.
Задание
ЛегкоОбъявите константу uint256 MINUTES_PER_HOUR, равную 60. Выведите hoursCount, умноженное на эту константу.
Тесты передают аргументы в main в таком порядке: uint256 hoursCount. Каждый тест начинается с нового состояния контракта.
Используйте console.log для требуемого вывода. Выводите только требуемые значения, по одному в строке, без дополнительных меток, если только задание явно их не предусматривает.
Попробуйте сами
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 hoursCount) external view {
// Напишите ваше решение здесь.
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
2Переменные и типы
Беззнаковые целые числаВвод и выводЗнаковые целые числаЛогические значенияСтроки в памятиКарточка профиля5Функции
Параметры функцийВозврат значенийЧистые функцииВызовы вспомогательных функцийПовторно используемые вычисления6Состояние контракта
Переменные состоянияЧтение и запись состоянияОткрытые геттеры состоянияКонстантыОбщий счётчикПотренируйтесь самостоятельно: Песочница Solidity