Solidité - Cartographie

Le mappage est un type de référence sous forme de tableaux et de structures. Voici la syntaxe pour déclarer un type de mappage.

mapping(_KeyType => _ValueType)

  • _KeyType- peut être n'importe quel type intégré plus des octets et une chaîne. Aucun type de référence ou objets complexes ne sont autorisés.

  • _ValueType - peut être de n'importe quel type.

Considérations

  • Le mappage ne peut avoir que le type de storage et sont généralement utilisés pour les variables d'état.

  • Le mappage peut être marqué comme public. Solidity crée automatiquement un getter pour cela.

Exemple

Essayez le code suivant pour comprendre le fonctionnement du type de mappage 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));
   }
}

Exécutez le programme ci-dessus en suivant les étapes fournies dans le chapitre Application Solidity First .

Premier clic updateBalance Bouton pour définir la valeur sur 10, puis regardez dans les journaux qui afficheront la sortie décodée comme -

Production

{
   "0": "uint256: 10"
}