Mapping
SolidityDéfinition
Structure de données clé-valeur (comme un dictionnaire/hashmap). Très efficace en gas, pas de limitation de taille. Pas itérable (impossible de lister toutes les clés). Stocké dans le storage du contrat. Syntaxe : mapping(KeyType => ValueType). Les clés inexistantes retournent la valeur par défaut (0, false, address(0), etc.).
Version anglaise
Key-value data structure (like a dictionary/hashmap). Very gas-efficient, no size limitation. Not iterable (impossible to list all keys). Stored in contract storage. Syntax: mapping(KeyType => ValueType). Non-existent keys return default value (0, false, address(0), etc.).
Exemple de Code
contract Ledger {
mapping(address => uint256) public balances; // Solde de chaque adresse
// Mapping imbriqué (allowances ERC-20)
mapping(address => mapping(address => uint256)) public allowances;
function deposit() public payable {
balances[msg.sender] += msg.value;
}
function getBalance(address user) public view returns (uint256) {
return balances[user]; // Retourne 0 si jamais set
}
}Pages Liées
Pratique ce concept sur Solingo
Maîtrise Mapping avec des exercices interactifs et un IDE intégré.
Commencer gratuitement