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); //报错,尝试推导两次,变成了不同的类型
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值