枚举将一个变量的取值限制为几个预定义值中的一个。精确使用枚举类型有助于减少代码中的bug。
示例
考虑一个鲜榨果汁商店的应用程序,将玻璃杯的容量大小限制为:小、中、大。这将确保任何人不能购买其他容量的果汁。
pragma solidity ^0.5.0;
contract test {
enum FreshJuiceSize{ SMALL, MEDIUM, LARGE }
FreshJuiceSize choice;
FreshJuiceSize constant defaultChoice = FreshJuiceSize.MEDIUM;
function setLarge() public {
choice = FreshJuiceSize.LARGE;
}
function getChoice() public view returns (FreshJuiceSize) {
return choice;
}
function getDefaultChoice() public pure returns (uint) {
return uint(defaultChoice);
}
}
可以使用Solidity – 第一个程序中的步骤,运行上述程序。
首先单击 setLarge 按钮将值设置为 LARGE,然后单击 getChoice 获取所选的选项。
输出
uint8: 2
单击 getDefaultChoice 按钮获得默认选项。
输出
uint256: 1