match

match 表达式是一个控制结构,其接收一个表达式,然后将表达式的结果与多个模式进行匹配,一旦匹配了某个模式,则该模式相关联的代码将被执行:

1
2
3
4
5
6
7
8
9
match target {
模式1 => 表达式1,
模式2 => {
语句1;
语句2;
表达式2
},
_ => 表达式3
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
enum Coin {
Penny,
Nickel,
Dime,
Quarter,
}

fn value_in_cents(coin: Coin) -> u8 {
match coin {
Coin::Penny => {
println!("Lucky penny!");
1
},
Coin::Nickel => 5,
Coin::Dime => 10,
Coin::Quarter => 25,
}
}

查看更多

Macro 宏

从调用上看,最显著的是,宏多了一个 !,如 println!("aaa");

宏的参数

宏的参数可以使用 ()[] 以及 {} :

1
2
3
4
5
fn main() {
println!("aaaa");
println!["aaaa"];
println!{"aaaa"}
}

虽然三种使用形式皆可,但是 Rust 内置的宏都有自己约定俗成的使用方式,例如 vec![...]assert_eq!(...) 等。

查看更多

FastDFS

Docker部署FastDFS

1
2
3
4
5
# 搜索镜像
docker search fastdfs

# 拉取镜像(已经内置Nginx)
docker pull delron/fastdfs

Tracker

1
docker run -d --name tracker --network=host -v /mydata/fastdfs/tracker:/var/fdfs delron/fastdfs tracker

服务默认的端口为22122,-v 实现了容器和本地目录的挂载操作。

查看更多