rust(69)-闭包
生活随笔
收集整理的這篇文章主要介紹了
rust(69)-闭包
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、add、product屬于閉包,作為變量值。而compute使用了閉包作為參數。
2、閉包和函數相似,有一個重要的區別,閉包可以捕獲外部變量,而函數不行。
運行結果如下:
Finished dev [unoptimized + debuginfo] target(s) in 0.05sRunning `H:\learnrust\learnrs1\target\debug\learnrs1.exe` 15 2400 15------------------ (program exited with code: 0)請按任意鍵繼續. . .3、 pow_compute_impl作為閉包,作為返回值。
fn pow_compute_impl()->impl Fn(i32)->i32{move |i| i*i }fn main() {println!("{:?}",d1);println!("{:?}",d2);println!("{:?}",d3); println!("{:?}",myfun(8)); } Compiling learnrs1 v0.1.0 (H:\learnrust\learnrs1)Finished dev [unoptimized + debuginfo] target(s) in 0.74sRunning `H:\learnrust\learnrs1\target\debug\learnrs1.exe` 64------------------ (program exited with code: 0)請按任意鍵繼續. ..
總結
以上是生活随笔為你收集整理的rust(69)-闭包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: erlang精要(31)-尾递归版的翻转
- 下一篇: rust(70)-条件表达式