在Rust中,@
符号主要用于模式匹配的上下文中。它允许您在执行模式匹配的同时,将匹配的值绑定到一个变量。这样,您不仅可以检查值是否符合某个模式,还可以在之后的代码中再次使用这个值。
例如:
rustlet value = Some(5); match value { Some(x) @ Some(5) => println!("Got an Some with 5, and x is {:?}", x), _ => (), }
在这个例子中,我们使用 @
将 Some(5)
匹配到的值绑定到变量 x
,这样就可以在 println!
宏中使用 x
。