ENUM:ENUM在Solidity中用来定义一组有限的具名常量。可以将ENUM视为一种用户定义的数据类型,配置成一个范围固定的值。ENUM类型的变量只能选择创建时在枚举中明确声明的某个值。以下是一个ENUM的代码示例:
pragma solidity ^0.8.0;
contract enumExample {
enum Color { RED, BLUE, GREEN }
Color colorChoice;
function setColorChoice(Color _color) public {
colorChoice = _color
}
function getColorChoice() public returns (Color){
return colorChoice
}
}
该例程定义了一种类型为Color的ENUM,此类型包括三个值:RED、BLUE、GREEN。
EMIT:EMIT在Solidity中用来在智能合约中创建新的事件。事件是合约的通知机制,可以在外部查看。事件只能被读取,无法被更改。以下是一个EMIT的代码示例:
pragma solidity ^0.8.0;
contract emitExample {
event AddToArray(address indexed _address);
function addToArray() public returns (bool){
emit AddToArray(msg.sender);
return true;
}
}
该例程定义了一个名为AddToArray的事件。addToArray()函数中的emit语句意味着当该函数被执行时,该事件将被记录。记录中包含msg.sender(即执行智能合约的人)。
EVENT:EVENT与EMIT有些类似。事件是针对智能合约中发生的情况的一种通知机制,当事件被触发时,它会将有关信息记录到区块链上。以下是一个EVENT的代码示例:
pragma solidity ^0.8.0;
contract eventExample {
address public owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
owner = msg.sender;