सॉलिडिटी - मैपिंग

मानचित्रण एक संदर्भ प्रकार है जो सरणियों और संरचनाओं के रूप में है। मैपिंग प्रकार घोषित करने के लिए सिंटैक्स निम्नलिखित है।

mapping(_KeyType => _ValueType)

कहाँ पे

  • _KeyType- किसी भी प्रकार में निर्मित बाइट्स और स्ट्रिंग हो सकते हैं। कोई संदर्भ प्रकार या जटिल ऑब्जेक्ट की अनुमति नहीं है।

  • _ValueType - कोई भी प्रकार हो सकता है।

विचार

  • मानचित्रण केवल प्रकार का हो सकता है storage और आम तौर पर राज्य चर के लिए उपयोग किया जाता है।

  • मैपिंग को सार्वजनिक किया जा सकता है। सॉलिडिटी स्वचालित रूप से इसके लिए गेटटर बनाती है।

उदाहरण

सॉलिडिटी में मैपिंग प्रकार कैसे काम करता है, यह समझने के लिए निम्न कोड का प्रयास करें।

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));
   }
}

सॉलिडिटी फर्स्ट एप्लीकेशन चैप्टर में दिए गए चरणों का उपयोग करके उपरोक्त प्रोग्राम को चलाएं ।

पहला क्लिक करें updateBalance मान को 10 के रूप में सेट करने के लिए बटन तब लॉग में देखें जो डिकोडेड आउटपुट को दिखाएगा -

उत्पादन

{
   "0": "uint256: 10"
}