Solidity8.0
09-Solidity8.0枚举

前言
枚举
Solidity 支持可枚举,它们对于建模选择和跟踪状态很有用。 枚举可以在合同之外声明。
一、Solidity8.0枚举
1.枚举
代码如下(示例):
// SPDX-License-Identifier: MIT
pragma solidity ^0.8;
contract EnumExample {
enum Status {
Pending,
Shipped,
Accepted,
Rejected,
Canceled
}
Status public status; // default is Pending
// Returns uint
// Pending - 0
// Shipped - 1
// Accepted - 2
// Rejected - 3
// Canceled - 4
function get() public view returns (Status) {
return status;
}
function set(Status _status) public {
status = _status;
}
function cancel() public {
status = Status.Canceled;
}
function reset() public {
delete status;
}
}
总结
日拱一卒。
本文介绍了Solidity 8.0中枚举的使用,包括枚举的概述、示例代码展示,以及如何在智能合约中管理和操作不同状态。通过实例学习了如何定义、读取、设置和重置枚举值。
502

被折叠的 条评论
为什么被折叠?



