我可以用混音版写吗?



我创建了一个地址类型为的动态数组变量例如,

address payable[] public participant;

下面哪一种写法是正确的,为什么,

uint payable[] public participant;

uint[] payable public participant;

enter code here

address及其扩展address payable,它允许您使用本机transfer()方法将ETH发送到此地址。

由于该类型称为address payable,您可以通过在类型名称后附加[]表达式来创建该类型的数组。

没有payable扩展到uint。如果您的目标是定义要发送的金额,则可以将其存储在常规uint中。

pragma solidity ^0.8;
contract MyContract {
address payable[] public participants;
function foo() public {
uint amount = 1; // 1 wei
for (uint i = 0; i < participants.length; i++) {
participants[i].transfer(amount);
}
}
}

相关内容

最新更新