gpt4 book ai didi

rust - 与变量匹配还是与占位符匹配?

转载 作者:行者123 更新时间:2023-11-29 08:03:35 25 4
gpt4 key购买 nike

fn main() {
let f = 1;

match f {
foo => {
println!("{}", foo); // prints "1"
}
};

match f {
_ => {
println!("{}", f); // prints "1"
}
};
}

这两场比赛有什么不同吗?谁能告诉我第一场比赛的记录在哪里? Rust 书(直到第 9 章)似乎只提到占位符 _,但没有提到“您可以将任何名称(例如,在本例中为 foo)作为匹配条件” .

最佳答案

这些只是模式。 Patterns are documented in more details further in the book .模式有多种形式:

  • 常量:1FOO
  • enum 解构:Some(y)None
  • struct 解构:Point { x, y }
  • 元组解构:(42, foo)
  • 绑定(bind):foo, foo @ (42, bar)
  • 范围:1 ... 42
  • 占位符:_
  • 等等

这两个示例之间没有区别,但是,命名模式通常不被视为 match 表达式中的顶级模式,而是在子模式中,例如 一些(富)。然而,命名模式对于函数参数和 let 绑定(bind)非常常见。

关于rust - 与变量匹配还是与占位符匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55894911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com