Menu
Coddy logo textTech

Возврат значений

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

Функция может вычислить результат, не выводя его. Объявите тип результата с помощью returns, затем используйте return внутри тела. Вызывающий код может сохранить возвращённое значение и использовать его в более крупном выражении. Возврат значения и его вывод — это отдельные действия.

Определите этот вспомогательный элемент внутри контракта:

function doubled(uint256 n) internal pure returns (uint256) {
    return n * 2;
}

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

uint256 value = doubled(9);
console.log(value + 1);

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

Возвращаемое значение можно сохранить или использовать в вызывающем коде, не выводя его с помощью вспомогательной функции.

challenge icon

Задание

Легко

Напишите внутреннюю чистую вспомогательную функцию с именем square, которая возвращает n, умноженное на n. В main сохраните результат square(side) в переменной и выведите его.

Тесты передают аргументы в main в следующем порядке: uint256 side. Каждый тест начинается с нового состояния контракта.

Используйте console.log для требуемого вывода. Выводите только требуемые значения, по одному в строке, без дополнительных меток, если только задача явно их не требует.

Попробуйте сами

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 side) external view {
        // Напишите ваше решение здесь.
    }
}
quiz iconПроверьте себя

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

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

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