Mapping
Termasuk bagian Dasar-Dasar dalam perjalanan Solidity di Coddy. Pelajaran 42 dari 53.
Mapping menghubungkan key dengan nilai dalam penyimpanan. Deklarasikan mapping(keyType => valueType) pada cakupan contract, lalu gunakan tanda kurung siku untuk membaca atau menulis key. Key yang belum ditulis menghasilkan nilai default dari tipe nilainya, seperti nol untuk uint256.
Deklarasikan ini pada cakupan contract:
mapping(uint256 => uint256) points;Gunakan ini di dalam fungsi main yang disediakan:
points[4] = 18;
console.log(points[4]);
console.log(points[5]);Penugasan hanya mengubah kunci empat. Kunci lima belum pernah diberi nilai dan terbaca sebagai nol. Sebuah mapping tidak menyediakan panjang atau list bawaan yang berisi kuncinya. Catat kunci secara terpisah jika aplikasi memerlukan iterasi.
Kunci mapping yang belum ditulis terbaca sebagai nilai default dari tipe nilainya.
Tantangan
MudahDeklarasikan mapping dari key uint256 ke nilai uint256 bernama scores. Tetapkan points ke key player, lalu cetak scores[player] dan scores[player + 1].
Pengujian memberikan argumen kepada main dalam urutan ini: uint256 player, uint256 points. Setiap pengujian dimulai dengan state 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 player, uint256 points) external {
// 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
Integer Tak BertandaInput dan OutputInteger BertandaNilai Booleanstring di MemoriKartu Profil5Fungsi
Parameter FungsiMengembalikan NilaiFungsi MurniPemanggilan Fungsi PembantuPerhitungan yang Dapat Digunakan KembaliLatihan sendiri: Playground Solidity