Mappings

5 min Niveau 4

Le mapping est un type de référence comme les tableaux et les structures. Voici la syntaxe pour déclarer un type de mapping :

mapping(_KeyType => _ValueType)

Où :

  • _KeyType - peut être n'importe quel type intégré, plus les octets et les chaînes de caractères. Les types de référence et les objets complexes ne sont pas autorisés.
  • _ValueType - peut être n'importe quel type.

Considérations

  • Le mapping ne peut avoir qu'un type de stockage et est généralement utilisé pour les variables d'état.
  • Le mapping peut être marqué public. Solidity crée automatiquement un getter pour celui-ci.

Example

Essayez le code suivant pour comprendre comment le type de mapping fonctionne dans 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));
    }
}

Cliquez d'abord sur le bouton updateBalance pour fixer la valeur à 10, puis regardez les journaux qui montreront la sortie décodée comme -.

Rendu

{
    "0": "uint256: 10"
}
logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus