function execute( address, /* user */ address borrowToken, uint256, /* borrow */ uint256, /* debt */ bytes calldata data ) external { }
类似这个函数,定义了5个参数类型,但是有3个都没名字,也用不了啊,那么这几个参数有啥意义呢?
这种情况通常为了保持接口的一致性。
例如下图:
X 合约会调用 A B C 合约的 execute 方法,你看到的 A 合约里,可能只需要使用到 execute 的 borrowToken 和 data 参数,但是 B 和 C 合约可能需要其他的参数,因此 A 保持接口一致,才能被 X 以统一的接口调用。
execute
borrowToken
data