25枚举

枚举类型的默认值是它的第一个字段

// SPDX-License-Identifier: MIT
pragma solidity 0.8.18;

contract Enums{
    enum Status{
        None,
        Pending,
        Shipped,
        Completed,
        Rejected,
        Canceled
    }

    Status public status;

    struct Order{
        address buyer;
        Status status;
    }

    Order [] public  orders;

    function get() external view returns (Status){
        return status;
    }

    function set(Status _status) external {
        status=_status;
    }
    function ship() external {
        status=Status.Shipped;
    }
    // 删除,编程默认值
    //枚举类型的默认值是它的第一个字段
    function reset() external {
        delete status;
    }
}