Mengembalikan Nilai
Termasuk bagian Dasar-Dasar dalam perjalanan Solidity di Coddy. Pelajaran 22 dari 53.
Sebuah fungsi dapat menghitung hasil tanpa mencetaknya. Nyatakan tipe hasil dengan returns, lalu gunakan return di dalam isi fungsi. Pemanggil dapat menyimpan nilai yang dikembalikan dan menggunakannya dalam ekspresi yang lebih besar. Mengembalikan nilai dan mencetaknya adalah dua tindakan yang terpisah.
Definisikan fungsi pembantu ini di dalam kontrak:
function doubled(uint256 n) internal pure returns (uint256) {
return n * 2;
}Gunakan fungsi ini di dalam fungsi main yang disediakan:
uint256 value = doubled(9);
console.log(value + 1);Fungsi pembantu mengembalikan delapan belas. Pemanggil menambahkan satu lalu mencetak sembilan belas. Pernyataan return mengakhiri pemanggilan fungsi saat ini, jadi instruksi biasa setelah return tanpa syarat tidak dapat berkontribusi pada pemanggilan tersebut.
Nilai yang dikembalikan dapat disimpan atau digunakan oleh pemanggil tanpa dicetak oleh fungsi pembantu.
Tantangan
MudahTulis helper internal pure bernama square yang mengembalikan n dikali n. Di main, simpan square(side) dalam sebuah variabel, lalu cetak nilainya.
Pengujian memberikan argumen kepada main dalam urutan ini: uint256 side. Setiap pengujian dimulai dengan keadaan kontrak yang baru.
Gunakan console.log untuk output yang diminta. Cetak hanya nilai yang diminta, satu per baris, tanpa label tambahan kecuali jika tugas memintanya.
Coba sendiri
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 side) external view {
// Tulis solusimu di sini.
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
2Variabel dan Tipe Data
Bilangan Bulat Tanpa Tandainput dan outputBilangan Bulat BertandaNilai Booleanstring dalam MemoriKartu Profil5Fungsi
Parameter FungsiMengembalikan NilaiFungsi MurniPemanggilan Fungsi PembantuPerhitungan yang Dapat Digunakan KembaliLatihan sendiri: Playground Solidity