You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Rust 1.85稳定版异步闭包与可变借用的技术咨询

Rust 1.85稳定版异步闭包与可变借用的技术咨询

嘿,Rust 1.85版本终于把大伙盼了好久的异步闭包给稳定支持了!这对于天天写异步代码的开发者来说,绝对是个省心的好消息。

咱来看官方给出的一个典型示例,就能快速摸透它的基础用法:

async fn example() {
    let mut vec: Vec<String> = vec![];

    let mut closure = async || {
        vec.push(std::future::ready(String::from("")).await);
    };

    let res = closure().await;
    // 要是想验证效果,还可以加一行打印:
    // println!("vec的长度现在是: {}", vec.len());
}

这里有两个关键点得拎出来说:

  • 异步闭包的写法很直观,就是在普通闭包前面加个async关键字,调用它的时候会返回一个Future,必须用.await触发执行里面的异步逻辑
  • 因为这个闭包要修改捕获的vec(做了push操作),所以咱们得把闭包变量closure声明为mut的——这和普通可变闭包的要求是一样的,毕竟闭包每次被调用时,都会以可变方式借用捕获的变量

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.09 03:00:31