Solidity

只返回數組的方法很常見。但是,在“回報”論點中,我是使用記憶體還是儲存空間?為什麼?

  • May 19, 2022
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.9;
   
contract MyContract{
       address[] public myAddresses;
   
       function getMyAddresses() public view returns(address[] [[memory? / storage?]]){
           return myAddresses;
       }
   }

提前致謝。

每當您想從函式中返回數組或字元串時,都需要在返回語句中指定“記憶體”。這是因為合約需要將返回的數據儲存在某處。由於儲存在“storage”中需要gas,所以選擇的位置是“memory”。

詳細說明請參考這篇文章。

引用自:https://ethereum.stackexchange.com/questions/128527