有没有更简洁的方法来写这个?
let neg = if let Some(b'-') = self.peek() {
true
} else {
false
};
Option<u8>如果从上面的代码中不清楚,那么peek() 返回一个。
有没有更简洁的方法来写这个?
let neg = if let Some(b'-') = self.peek() {
true
} else {
false
};
Option<u8>如果从上面的代码中不清楚,那么peek() 返回一个。
由于 Option派生了 Eq 的实现,您可以简单地编写:
let neg = Some(b'-') == self.peek();
由于 ,另一个答案对于特定示例是准确的Eq,但我会在一般情况下回答。
Rust 现在有一个matches!用于这个用例的宏,所以你也可以写
let neg = matches!(self.peek(), Some(b'-'));
如果您不想或无法使用Eq.