Menu
CoddyTech

Giá trị trả về

Thuộc phần Nền tảng cơ bản trong hành trình Solidity của Coddy. Bài học 22 trên 53.

Một hàm có thể tính kết quả mà không in kết quả ra. Khai báo kiểu kết quả bằng returns, rồi dùng return bên trong phần thân hàm. Bên gọi có thể lưu giá trị trả về và dùng nó trong một biểu thức lớn hơn. Trả về và in ra là hai thao tác riêng biệt.

Định nghĩa hàm trợ giúp này bên trong hợp đồng:

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

Dùng hàm này bên trong hàm main đã cho:

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

Hàm hỗ trợ trả về mười tám. Hàm gọi cộng thêm một rồi in ra mười chín. Câu lệnh return kết thúc lần gọi hàm hiện tại, vì vậy các câu lệnh thông thường sau câu lệnh return vô điều kiện không thể góp phần vào lần gọi đó.

Hàm gọi có thể lưu trữ hoặc sử dụng giá trị trả về mà không cần hàm hỗ trợ in ra giá trị đó.

challenge icon

Thử thách

Dễ

Viết một hàm trợ giúp có tên square, có phạm vi nội bộ và tính thuần, trả về n nhân n. Trong hàm main, lưu kết quả của square(side) vào một biến rồi in ra.

Các bài kiểm tra truyền đối số cho main theo thứ tự này: uint256 side. Mỗi bài kiểm tra bắt đầu với trạng thái hợp đồng mới.

Dùng console.log để in ra kết quả được yêu cầu. Chỉ in các giá trị được yêu cầu, mỗi giá trị trên một dòng, không thêm nhãn trừ khi đề bài yêu cầu.

Tự làm thử

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 side) external view {
        // Viết lời giải của bạn ở đây.
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Nền tảng cơ bản

Tự luyện tập: Playground Solidity