一个学习非常好的工具(二)

本文详细介绍了在Cairo编程中,如何定义带有不同参数的枚举类型,包括无参枚举和带felt252、u16参数的枚举,以及它们在使用时的语法和示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一次说了这个工具starklings-cairo1安装入门以及使用案例,今天继续

类型Enum

今天主要说一个enum类型。

在cairo里, enum枚举类型, 有几下几种定义方法

不带参数

第一是:不带参数,类似与 其他语言的枚举类型

enum Message {
    Say,
    Read,
    Write,
    Echo
}

使用的时候,语法是:Message::Say, Message::Read

带参数

而且每个类型可以携带不同的参数

enum Message { 
    Say,
    Read :felt252,
    Write: (u16,u16),
    Echo: (u16, u16, u16),

}

上面:枚举Message的第一项是 不带参数的 Say,

第二项是 : 带一个felt252 参数的 ,Read

第三项是: 带两个 u16参数的 Write,

第四个是: 带三个参数的 Echo

这种带参数的定义方式 是其他语言没有的, 不管是c/c++, java, python等都没有这个语法。

用法

上面带参数的枚举类型 ,赋与参数以后如下:

Message::Read('hello world')

Message::Write((10, 30))

Message::Echo((0, 255, 255))

最后想说一点的就是 ,这个带参数的定义方式, 一定是 名称 :多个参数逗号分隔,并放在括号里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值