当前位置:嗨网首页>书籍在线阅读

39-FnMut闭包

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

7.7.2 FnMut闭包

当编译器检测出闭包改变了执行环境中引用的某个值时,它实现了FnMut特征。为了适配之前相同的代码,请参考如下代码:

// fn_mut_closure.rs
fn main() {
    let mut a = String::from("Hey!");
    let fn_mut_closure = || {
        a.push_str("Alice");
    };
    fn_mut_closure();
    println!("Main says: {}", a);
}

上述闭包将字符串"Alice"添加到a中。fn_mut_closure改变了它的执行环境。