Option表示一个值存在还是不存在,定义是:
enum Option<T> {
Some: T,
None: (),
}
Some可以是任何类型的值, None只能是 (),这里cairo语法和rust 几乎一致,都是利用类型系统做安全检查,就连获取Some里的实际值也是使用 unwarp方法。
创建Some变量
Option::Some(1_u8)
创建None变量
Option::None(())
这两个Option自带 is_some, is_none函数,就像名字表达一样,这个函数返回boo变量。

点击 开发环境 remix的 deploy按钮。

下面是交互过程(handle_option_1 输入数字,竟然执行reverted!!)

这里revert原因,个人分析, 因为参数是 Option<u8> , 输入框里没法输入此类类型,所以导致输入的参数都revert, 但是只有输入0,1时候执行成功,就算输入1时候执行成功,结果也是0

本文介绍了Rust中的Option枚举类型,展示了如何创建Some和None变量,并讨论了在处理Option<u8>时,为何输入0和1会导致正常执行而其他值会revert。重点分析了类型系统在防止错误中的作用。

被折叠的 条评论
为什么被折叠?



