Solidität - Kartierung
Die Zuordnung ist ein Referenztyp für Arrays und Strukturen. Es folgt die Syntax zum Deklarieren eines Zuordnungstyps.
mapping(_KeyType => _ValueType)
Wo
_KeyType- kann ein beliebiger integrierter Typ plus Bytes und Zeichenfolge sein. Es sind keine Referenztypen oder komplexen Objekte zulässig.
_ValueType - kann jeder Typ sein.
Überlegungen
Mapping kann nur den Typ haben storage und werden im Allgemeinen für Zustandsvariablen verwendet.
Die Zuordnung kann als öffentlich markiert werden. Solidität schafft automatisch Getter dafür.
Beispiel
Versuchen Sie den folgenden Code, um zu verstehen, wie der Zuordnungstyp in Solidity funktioniert.
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));
}
}
Führen Sie das obige Programm mit den im Kapitel Solidity First Application beschriebenen Schritten aus .
Erster Klick updateBalance Klicken Sie auf die Schaltfläche, um den Wert auf 10 festzulegen, und schauen Sie dann in die Protokolle, in denen die dekodierte Ausgabe als - angezeigt wird.
Ausgabe
{
"0": "uint256: 10"
}