乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
Rust 03.10 闭包
2023-02-05 10:10:59
28
0
0
admin
> 闭包可以理解成匿名函数或者是把函数作为参数传递 假设x 是闭包的参数,以下是常见用法: ```rust fn main() { let closure_a = |x: u32| -> u32 {x+1}; println!("{}",closure_a(1)); let closure_b = |x| {x+1}; //币包可以猜测数据类型 println!("{}",closure_b(2)); let closure_c = |x| x+1; //只有一行的话不需要花括号 println!("{}",closure_c(3)); } ``` ## 关于闭包获取上下文中变量的所有权 > 在trait (接口)中定义闭包时,有三种类型: FnOnce 闭包可以消耗捕获的变量(捕获一次就用了) FnMut 闭包可以修改环境中的值 Fn 可以从环境中不可变的借用值 用move 关键词可以强制闭包获得所有权
上一篇:
Rust 03.01 给结构体和枚举定义方法
下一篇:
Rust 03.15 迭代器
文档导航