IERC20 和只是地址之间的区别
Difference between IERC20 and just address
其他合约有两种声明ERC20的方式:
IERC20 public token
,然后像 token.transfer
; 一样连接到它
address public token
,然后像 IERC20(token).transfer
. 一样连接到它
这两种申报方式有什么区别吗?如果是这样,更喜欢使用什么?
唯一的区别是在编译期间,如果您尝试在需要另一种类型的地方使用一种类型,编译器会报错。
在运行时方面,它们都是(160位)以太坊地址。
在您的示例中,使用类型 IERC20
更有意义,因为这是变量的预期类型 token
。
其他合约有两种声明ERC20的方式:
IERC20 public token
,然后像token.transfer
; 一样连接到它
address public token
,然后像IERC20(token).transfer
. 一样连接到它
这两种申报方式有什么区别吗?如果是这样,更喜欢使用什么?
唯一的区别是在编译期间,如果您尝试在需要另一种类型的地方使用一种类型,编译器会报错。
在运行时方面,它们都是(160位)以太坊地址。
在您的示例中,使用类型 IERC20
更有意义,因为这是变量的预期类型 token
。