Menu
Coddy logo textTech

Константы

Часть раздела Основы путешествия по 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