我对这段历史很好奇.我认为switch对C/C++/Java/etc程序员有吸引力,因此是一个自然的 Select .如果想要避免语义上的混乱(因为matchswitch更强大),我假设你会从Haskell那里borrow case.

推荐答案

The Rust Reference cites标准毫升(SML)和OCaml对模式匹配的影响.在OCaml中,pattern matching uses the match keyword.

The original Rust compiler was written in OCaml,所以OCaml对Rust 的影响比Haskell更大是有道理的.

Rust相关问答推荐

使用Clap时如何将String作为Into Str参数传递?

如何计算迭代器适配器链中过滤的元素的数量

如果死 struct 实现了/派生了一些特征,为什么Rust会停止检测它们?

关于 map 闭合求和的问题

如何将生存期参数添加到框<>;具有dyn类型别名

确保参数是编译时定义的字符串文字

&'a T 是否意味着 T: 'a?

borrow 是由于对 `std::sync::Mutex>` 的解引用强制而发生的

如何对一个特征的两个实现进行单元测试?

借来的价值生命周期 不够长,不确定为什么它仍然是借来的

UnsafeCell:它如何通知 rustc Select 退出基于别名的优化?

返回优化后的标题:返回异步块的闭包的类型擦除

为什么 Rust 的临时值有时有参考性有时没有?

我可以在不调用 .clone() 的情况下在类型转换期间重用 struct 字段吗?

为什么这个值在上次使用后没有下降?

使用 rust-sqlx/tokio 时如何取消长时间运行的查询

有没有办法在 Rust 中对 BigInt 进行正确的位移?

你能用 Rust 和 winapi 制作 Windows 桌面应用程序吗?

在传输不可复制的值时实现就地枚举修改

在 Rust 中组合特征的不同方法是否等效?