在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。