取消引用闭包参数

Ziz*_*Tai 5 rust

标题可能不合适,这里是一个例子:

fn foo(impl Fn(&u32) -> bool) { ... }

foo(|x| *x < 100);
foo(|&x| x < 100);
Run Code Online (Sandbox Code Playgroud)

两个闭包是否传递给foo等效项?我在某些地方看到有人使用第二种形式,但我在官方书中找不到它。这&x部分是一个解构...?

edw*_*rdw 2

这称为参考模式

参考图案

( &| &&) mut? 图案

引用模式取消引用正在匹配的指针,从而借用它们。

所以是的,它们是等价的。