Solidity - Haritalama
Eşleme, diziler ve yapılar olarak bir başvuru türüdür. Aşağıda bir eşleme türü bildirmek için sözdizimi verilmiştir.
mapping(_KeyType => _ValueType)
Nerede
_KeyType- herhangi bir yerleşik tür artı bayt ve dize olabilir. Referans türüne veya karmaşık nesnelere izin verilmez.
_ValueType - herhangi bir tür olabilir.
Düşünceler
Eşleme yalnızca türüne sahip olabilir storage ve genellikle durum değişkenleri için kullanılır.
Eşleme herkese açık olarak işaretlenebilir. Solidity otomatik olarak bunun için alıcı yaratır.
Misal
Solidity'de eşleme türünün nasıl çalıştığını anlamak için aşağıdaki kodu deneyin.
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));
}
}
Solidity First Application bölümünde verilen adımları kullanarak yukarıdaki programı çalıştırın .
İlk Tıklama updateBalance Değeri 10 olarak ayarlamak için düğme, ardından kodu çözülen çıktıyı şu şekilde gösterecek günlüklere bakın
Çıktı
{
"0": "uint256: 10"
}