Solidity
只返回數組的方法很常見。但是,在“回報”論點中,我是使用記憶體還是儲存空間?為什麼?
// 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”。
詳細說明請參考這篇文章。