标题可能不太合适,但这是一个例子:
fn foo(impl Fn(&u32) -> bool) { ... }
foo(|x| *x < 100);
foo(|&x| x < 100);
这两个用于 foo
的闭包是等价的吗?我看到有人在某些地方使用第二种形式,但我在官方书籍中找不到它。那么 &x
是一个解构的部分吗?
标题可能不太合适,但这是一个例子:
fn foo(impl Fn(&u32) -> bool) { ... }
foo(|x| *x < 100);
foo(|&x| x < 100);
这两个用于 foo
的闭包是等价的吗?我看到有人在某些地方使用第二种形式,但我在官方书籍中找不到它。那么 &x
是一个解构的部分吗?
&x
是解构的一部分,并且等同于解引用(仅适用于Copy
类型)。如果您认为重复问题不正确,因为它们没有回答您的问题,请告诉我们! - Lukas Kalbertodt