Solidity:枚举体(enum)的用法

1. 什么是枚举体?

枚举法是利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检验,从中找出符合要求的答案,因此枚举法是通过牺牲时间来换取答案的全面性。 在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。 这两种类型经常(但不总是)重叠。

通俗来说,枚举就是对一个对象的所有可能取到的值的集合。

2. 如何使用枚举体?

枚举语法定义格式:

enum 枚举名 {
    
    枚举元素1,枚举元素2,……};

Solidity官方枚举体语法结构图解:
Solidity官方枚举体语法结构图解
枚举体语法格式注释:
1)enum必须要有成员对象, { }中不能为空;
2)enum 中不能出现中文;
3){ }中不能加分号

3. 枚举体的用法实例?

案例:题设要求,1)只能约会fengjie,binbin和yuanyuan三位女孩;2)在约会binbin之前必须完成和fengjie的约会。

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;

contract enumTest{
    
    
    enum girl {
    
    fengjie,binbin,yuanyuan}

    girl dategirl = girl.fengjie;

    function firstNightDate() public returns(girl){
    
    
        require(dategirl == girl.fengjie);
        return dategirl = girl.binbin;
    }

    function secondNightDate() public view  {
    
    
        require(dategirl == girl.binbin);
    }


}

猜你喜欢

转载自blog.csdn.net/runrundream/article/details/127034540
今日推荐