合约函数定义了类型但是没参数名称,这样的函数用什么用?

function execute(
    address, /* user */
        address borrowToken,
        uint256, /* borrow */
        uint256, /* debt */
        bytes calldata data
    ) external  {

    }

类似这个函数,定义了5个参数类型,但是有3个都没名字,也用不了啊,那么这几个参数有啥意义呢?

请先 登录 后评论

最佳答案 2021-10-10 12:58

这种情况通常为了保持接口的一致性。

例如下图:

X 合约会调用 A B C 合约的 execute 方法,你看到的 A 合约里,可能只需要使用到 execute 的 borrowTokendata 参数,但是 B 和 C 合约可能需要其他的参数,因此 A 保持接口一致,才能被 X 以统一的接口调用。

请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,498 浏览
  • 赵凯 提出于 2021-10-09 17:56