如何在solidity中返回用户定义的struct列表?

时间:2018-01-30 12:07:13

标签: ethereum solidity ico

我想返回一个用户定义的struct

列表
function sortByEtherValues (string category) public view returns (JobStruct[]) {
...
}

我收到以下错误:

  

无法解码输出:错误:不支持或无效的类型:元组

1 个答案:

答案 0 :(得分:1)

Solidity支持returning multiple values

struct JobStruct {
  uint a;
  uint b;
  uint c;
}

function sortByEtherValues (string category) public view returns (uint, uint, uint) {
  JobStruct memory js = JobStruct(1, 2, 3);
  return (js.a, js.b, js.c);
}

通过分解struct元素来返回结构数组会有点脏。如果可以,您应该尝试返回一个JobStruct,方法是在单独的函数中按category获取元素数,然后将索引添加到sortByEtherValues