1. 程式人生 > >Solidity 列舉(Enums)

Solidity 列舉(Enums)

案例

下面的程式碼是我對官方案例作了簡單的修改而成。ActionChoices就是一個自定義的整型,當列舉數不夠多時,它預設的型別為uint8,當列舉數足夠多時,它會自動變成uint16,下面的GoLeft == 0,GoRight == 1, GoStraight == 2, SitStill == 3。在setGoStraight方法中,我們傳入的引數的值可以是0 - 3當傳入的值超出這個範圍時,就會中斷報錯

pragma solidity ^0.4.4;
contract test {
    enum ActionChoices { GoLeft, GoRight, GoStraight, SitStill }
ActionChoices _choice; ActionChoices constant defaultChoice = ActionChoices.GoStraight; function setGoStraight(ActionChoices choice) public { _choice = choice; } function getChoice() constant public returns (ActionChoices) { return _choice; } function getDefaultChoice
() pure public returns (uint) { return uint(defaultChoice); } }