![](/img/trans.png)
[英]In Ethereum Solidity, what is the purpose of the "memory" keyword?
[英]Why memory keyword is mentioned in view function in solidity
function getAllWaves() public view returns (Wave[] memory) {
return waves;
}
我正在閱讀 _buildspace 教程並找到了這段代碼。 我之前讀過 memeroy 關鍵字用於solidity 來指定變量應該存儲在 memeroy 中(而不是狀態),以便我們可以在 function 調用后銷毀它。 但是為什么在此視圖 function 的返回部分中提到了 memory,因為它只是返回一個值。
我是新手,所以任何與此相關的文章也會有所幫助。 謝謝
所有引用類型變量(包括數組)都需要指定它們的數據位置。
EVM 不能直接從存儲中返回,因為storage
位置修飾符就像一個指針,只返回一個指針而不是實際值是沒有用的。
所以它將waves
數組的值從存儲加載到memory,然后從memory返回。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.