小编rai*_*oji的帖子

如何从 Solidity 中的多个函数返回中仅获取必要的值?

在合同中,我有一个返回多个变量的函数。它返回 7 个变量,但我只需要其中的一个变量。怎样才能只取出必要的呢?我应该获取所有变量并只使用一个吗?

interface IData {
   function getData() external view returns (unit d1, 
                                             string memory d2, 
                                             address d3, 
                                             unit d4, 
                                             string memory d5, 
                                             unit d6, 
                                             address d7);
}

contract Module {
   IData private keepData;
   constructor(address dataAddress) {
      keepData = IData(dataAddress);
   }

   function doSomething() external {
      unit d1;
      string d2;
      address d3;
      unit d4;
      string d5;
      unit d6;
      address d7;
      (d1, d2, d3, d4, d5, d6, d7) = keepData.getData();
      // do something which only requires d5 data.
      // for other 6 …
Run Code Online (Sandbox Code Playgroud)

return blockchain solidity

2
推荐指数
1
解决办法
2040
查看次数

标签 统计

blockchain ×1

return ×1

solidity ×1