Rust 简介
Rust 是一种强类型的静态编程语言,它可以编写更快、更可靠的软件,兼备高层次的易用性与低层次的控制力。
Rust 具有以下几个特点:
- 内存安全,且不牺牲性能
- "编译通过就能正常运行"
- 令人愉悦的语法和强大的语言特性
- 优秀且不断增长的生态系统
Rust 用途广泛,比如命令行工具、Web服务、嵌入式设备等。
Rust 程序剖析
在此处我们使用 Cargo 新建一个项目。Cargo 是 Rust 的构建系统和包管理器,大多数的Rust编写者们都使用 Cargo 来管理他们的 Rust 项目。
首先在命令提示符中使用cargo new hello_world
来新建一个项目。Cargo 的新建项目文件结构如下图所示:
其中,Cargo.toml
文件是Cargo配置文件,文件中的内容如下所示:
其中 [package]
中的三行分别表示"项目名称"、"项目的版本"以及"Rust版本"。dependencies
用于罗列项目依赖的代码包,在Rust中,这种包被称为crates
。
项目代码置于/src
目录下,在其中的main.rs
文件中写下如下代码:
rust
// crate (以后深入)
// -- library crate (只有1个)
// -- binary crate (任意多个)
use std::io::stdin;
// Prelude:每一个Rust程序自动引入的标准库内容
fn main() {
let mut msg = String::new();
println!("Please enter message:");
stdin().read_line(&mut msg).unwrap();
println!("message is {}",msg);
}
对该代码从上到下依次解释:
- 首先我们需要
std::io
库提供输入/输出功能。io
库来自于标准库,标准库也被称为std
。导入的std
标准库,正如前文所言,也算是一个crate
,而crate
分为library crate
和binary crate
,前者在一个Rust程序中只有1个,后者则可以有任意多个。现在的这个main.rs
就属于binary crate
。关于crate
的更加深入的介绍,经过后面的学习后会专门进行补充。 - 在Rust中,为了方便编写,将标准库中常用的若干个库整理出来,形成
预导入 (Prelude)
内容,prelude无需显式引入,但是不属于prelude的就需要使用use
语句进行显式引入。io
库并不属于prelude,因此此处需要显式引入。 main
函数是Rust程序的入口,被花括号括起来的是函数体。函数体中的第一行表示新建一个字符串变量;第二行是输出指定文本;第三行是读取用户的整行输入;第四行对结果进行格式化输出。具体的内容经过后面的学习会专门补充,当前先知晓各行代码的作用。
在命令行使用cargo run
命令运行该代码。首先会提示我们进行输入,在输入文本之后按回车,就可以输出我们输入的文本:
小结
本文从一个简单的 Rust 程序入手,知晓了Rust程序的标准库导入、命令行交互以及main
函数,相当于简单窥见了一下Rust语言,希望可以保持下去!继续学习!