rust - 匹配语句中的 @ 是什么意思?

标签 rust rotor

我开始学习了the rotor library我有found the expression :

me @ Echo::Server(..) => me.accept(),

这是什么意思,我该如何使用 @ 运算符?我的猜测是它类似于强制转换操作,但是 Rust 书中的 section about casting没有提到它。

最佳答案

您可以使用 syntax index in the Rust Book查找语法位。在这种情况下,它是一个 pattern binding , 用于将模式的特定部分绑定(bind)到变量。

在这里,当且仅当它是一个 Echo::Server 变体时,它才被用来将整个值绑定(bind)到 me

关于rust - 匹配语句中的 @ 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34496467/

相关文章:

rust - Err() 中不需要的撇号转义

rust - 无法将功能移至另一个文件?

ios - 创建自定义 VoiceOver 转子来导航 MKAnnotationViews?

.net - 是否有适用于 .NET 3.5 的 Rotor 版本?如果有,在哪里?

.net - SSCLI 2.0 (ROTOR) 和 .NET 有什么区别?

rust - 在 Rust 程序中同时使用 libnative 和 libgreen

rust - 是否可以使用 Tokio 和 Juniper 在 GraphQL 对象字段中执行任何类型的并行计算?

rust - 当限制为 const N 时 mem::transmute 错误

iOS Voice Over 转子通知?