Rust简介
Rust 致力于成为优雅解决高并发和高安全性系统问题的编程语言,支持函数式和命令式以及泛型等编程范式,适用于大型场景,即创造维护能够保持大型系统完整的边界。这就导致了它强调安全,内存布局控制和并发的特点。在性能上,标准Rust性能与标准C++性能不相上下。
安装
Linux 下可在终端输入如下命令安装:
$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
在Debian或Ubuntu下也可使用以下方式安装:
$ sudo apt-get install rustc
Cargo使用
Cargo 是 Rust 的构建系统和包管理器,类似Golang的gomod。包管理工具最重要的意义就是任何用户拿到你的代码,都能运行起来,而不会因为各种包版本依赖焦头烂额。Cargo可以构建代码、下载依赖库并编译这些库,并支持将包上传到Rust社区的包仓库 crates.io 。
创建一个项目
$ cargo new rust-demo
查看生成的项目结构:
$ cd ./rust-demo
$ tree
.
├── .git
├── .gitignore
├── Cargo.toml
└── src
└── main.rs
main.rs
即为程序代码入口,打开看就是一个经典的HelloWorld,可直接运行。
项目编译运行
$ cargo run
Compiling rust-demo v0.1.0 (/home/caodailiang/rust-demo)
Finished dev [unoptimized + debuginfo] target(s) in 0.74s
Running `target/debug/rust-demo`
Hello, world!
cargo run
首先对项目进行编译,生成二进制./target/debug/rust-demo
,然后再运行它,因此该命令实际上等同于运行了两个指令:
- 编译
$ cargo build Finished dev [unoptimized + debuginfo] target(s) in 0.00s
- 运行
$ ./target/debug/rust-demo Hello, world!
发布(release)构建
cargo run
默认是运行在 debug
模式下,所以它生成的二进制是放在debug目录下。在debug模式下编译器不会做任何的优化,只为尽快的编译完成,然而相应的程序运行速度就会很慢。
要生成产品化的高性能程序,需要添加 --release
参数来编译:
$ cargo run --release
$ cargo build --release
快速检查
当项目大了之后,编译过程不可避免的会变慢,为了快速的检查一下代码能否编译通过,可使用 cargo check
命令。
$ cargo check
Checking rust-demo v0.1.0 (/home/caodailiang/rust-demo)
Finished dev [unoptimized + debuginfo] target(s) in 0.04s
编码尝试
一个简单的web服务器,参考《Rust语言圣经》