کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

Mapping (نگاشت) در سالیدیتی

Mapping (نگاشت) همان دیکشنری در زبان پایتون است. هر متغیری که یک نوع کلید و یک مقدار را بپذیرد یک نگاشت است. در ادامه نحوی برای اعلام نوع نگاشت آمده است:

mapping(_KeyType => _ValueType)

_KeyType

می تواند هر نوع داده همراه با بایت و رشته باشد. همچنین نمی‌تواند enum, struct, array و یا mapping باشد.

_ValueType

می تواند هر نوع باشد که موجب منعطف بودن نگاشت می‌شود.

نکات مهم :

Mapping (نگاشت) فقط می‌تواند نوع ذخیره سازی داشته باشد و به طور کلی برای متغیرهای حالت استفاده می‌شود.

Mapping (نگاشت) را می‌توان به شکل عمومی تعیین کرد. Solidity به طور خودکار برای آن گیرنده ایجاد می‌کند.

مثال

کد زیر را امتحان نمایید تا متوجه شوید نوع نگاشت در 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));
   }
}
1402/01/10 785
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...