4. Solidity智能合约enum类型(枚举)

本小节主要讨论enum类型,

1. enum基本结构

先对enum结构有个基本的认识,这个enum主要描述产品是否用过(New,Used)

    enum ProductCondition{

        New,
        Used
        

    }

2. 在struct中使用enum

enum通常是用在struct当中,描述struct中的某个状态

pragma solidity ^0.4.13;

contract Store{
    
    struct Product{
        
        ProductCondition condition;
        
    }
    
    enum ProductCondition{
        New,
        Used
        
    }
    
}

3. enum结合struct的使用实例

该实例结合struct和enum,生成struct对象,在生成struct对象的过程中使用enum类型

pragma solidity ^0.4.13;

contract Store{
    
    struct Product{
        
        ProductCondition condition;
        
    }
    
    enum ProductCondition{
        New,
        Used
        
    }
    

    function getProductCondition() public pure returns (ProductCondition){
      
        
        Product memory product = Product(ProductCondition.Used);


        return   product.condition;
        
    }
    
    
}

4. 运行效果

从这个实例可以看出,如果构建Product结构体传入ProductCondition.Used则返回1,ProductCondition.New返回0

4. Solidity智能合约enum类型(枚举)



4. Solidity智能合约enum类型(枚举)

作者:温春水  致力于研究区块链技术

微信:wencs1314  QQ群:612968783 

加群和微信,免费获得高质量区块链学习资料