0
点赞
收藏
分享

微信扫一扫

Rust 编程视频教程(进阶)——005_1 闭包介绍


视频地址

头条地址:https://www.ixigua.com/i6775861706447913485
B站地址:https://www.bilibili.com/video/av81202308/

讲解内容

1、闭包是可以保存进变量或者作为参数传递给其它函数的匿名函数。闭包和函数不同的是,闭包允许捕获调用者作用域中的值。

2、闭包的使用方式
例子1:

fn main() {
let use_closure = || {
println!("This is a closure");
};

use_closure ();
}

语法格式:

fn add_one_v1(x: u32) -> u32 { x + 1 } //函数
let add_one_v2 = |x: u32| -> u32 { x + 1 }; //闭包
let add_one_v3 = |x| { x + 1 }; //自动推导
let add_one_v4 = |x| x+1; //自动推导

说明:闭包定义会为每个参数和返回类型推导一个具体类型。但是不能推导两次。

错误例子:

let example_closure = |x| x;
let s = example_closure(String::from("hello"));
let n = example_closure(5); //报错,尝试推导两次,变成了不同的类型


举报

相关推荐

0 条评论