Menu
CoddyTech

Константы

Часть раздела Основы путешествия по Solidity на Coddy. Урок 29 из 53.

Используйте constant на уровне контракта для значения, фиксированного во время компиляции. Укажите его значение в объявлении. Константе нельзя присвоить новое значение. Она полезна для фиксированного коэффициента преобразования или неизменного правила, общего для нескольких функций.

Объявите её в области видимости контракта:

uint256 constant HOURS_PER_DAY = 24;

Используйте её внутри предоставленной функции main:

uint256 daysCount = 3;
console.log(daysCount * HOURS_PER_DAY);

HOURS_PER_DAY фиксировано на уровне двадцати четырёх, поэтому три дня содержат семьдесят два часа. В отличие от обычной инициализации состояния, константа встраивается компилятором в места её использования. Имена в верхнем регистре — общепринятое соглашение для констант, а не требование компилятора.

Константа инициализируется при объявлении, и ей нельзя присвоить новое значение.

challenge icon

Задание

Легко

Объявите константу 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 {
        // Напишите ваше решение здесь.
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Solidity