gpt4 book ai didi

reference - 引用如何在绑定(bind)表达式的模式中工作?

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

我在 Rust 书中看到了下面的例子。

for &item in list.iter() {
if item > largest {
largest = item;
}
}

我想这意味着 list.iter() 返回对列表中元素的引用,因此 &item 但在将它与最大数字进行比较时,为什么我们不使用 *项目?此外,当我在第一行将 &item 更改为 item 时,编译器在第二行和第三行强制使用 *item

我在网上看到了另一个例子。

(0..).map(|x| x * x)
.take_while(|&x| x <= limit)
.filter(|x| is_even(*x))

这里 take_while 中的闭包接受 &x 但直接使用 x 但是 filter 中的闭包接受 >x 没有引用,但将 *x 传递给 is_even

那么这在 Rust 中是如何工作的呢?

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