Soliditas - Pemetaan

Pemetaan adalah tipe referensi sebagai array dan struct. Berikut ini adalah sintaks untuk mendeklarasikan tipe pemetaan.

mapping(_KeyType => _ValueType)

Dimana

  • _KeyType- dapat berupa tipe bawaan apa pun ditambah byte dan string. Tidak ada tipe referensi atau objek kompleks yang diperbolehkan.

  • _ValueType - bisa tipe apapun.

Pertimbangan

  • Pemetaan hanya dapat memiliki jenis storage dan umumnya digunakan untuk variabel status.

  • Pemetaan dapat ditandai publik. Soliditas secara otomatis menciptakan pengambil untuk itu.

Contoh

Coba kode berikut untuk memahami cara kerja jenis pemetaan di Solidity.

pragma solidity ^0.5.0;

contract LedgerBalance {
   mapping(address => uint) public balances;

   function updateBalance(uint newBalance) public {
      balances[msg.sender] = newBalance;
   }
}
contract Updater {
   function updateBalance() public returns (uint) {
      LedgerBalance ledgerBalance = new LedgerBalance();
      ledgerBalance.updateBalance(10);
      return ledgerBalance.balances(address(this));
   }
}

Jalankan program di atas menggunakan langkah-langkah yang disediakan di bab Aplikasi Solidity First .

Klik Pertama updateBalance Tombol untuk mengatur nilai sebagai 10 lalu lihat ke dalam log yang akan menampilkan keluaran yang didekodekan sebagai -

Keluaran

{
   "0": "uint256: 10"
}