Rust 中闭包的写法

目录
在鲁迅的文章《孔乙己》中说,茴香豆的茴字有好几种写法,记得没错的话应该是四种,具体哪四种请参考下文引用。
在 Rust 中,闭包也有好几种写法,今天就来总结一哈。
闭包的写法
闭包语法
|
|
使用闭包
|
|
执行cargo run
会得到如下结果:
a=6, b=6, c=6, d=6
重点说明
闭包定义会为每个参数和返回值类型推导一个具体的类型,但是不能推导两次(不能让俩次或多次使用是不同类型的参数进行调用)
语言描述有点模糊,那么用代码说明问题
|
|
在上面我们定义了一个参数为 x, 返回值为 x 的闭包,但是 x 的类型我们并没有指定。
经过第一次调用,传入参数类型为字符串, 得到的结果 s 也为字符串 hello
,
第二次调用如果传入参数为数字 5, 那么程序就会报错,如下
|
|
如果将数字 5 转换为字符串 5,那么程序就运行正常。
总结
Rust 的闭包感觉和 js 的函数的写法很像,感觉到了 Rust 又借鉴了部分 js 的语法。
Refs
- 1. 博客:https://guzhongren.github.io/
- 2. 图床:https://sm.ms/
- 3. 茴香豆的茴字的写法:https://zhidao.baidu.com/question/1448503662321920660.html
- 4.Rust 闭包:https://doc.rust-lang.org/rust-by-example/fn/closures.html
Disclaimer
本文仅代表个人观点,与 Thoughtworks 公司无任何关系。