现在我们已经安装好了rust,让我们开始第一个rust程序。任何一门新的语言总是从打印"Hello world"开始,这儿我们也同样如此。
创建一个项目目录
首先创建一个目录用于存放rust代码,无论你把你的代码放在任何位置,都建议你放在同一个目录下:
- 进入到D:
- 创建一个learning目录
- 进入到learning目录
- 创建一个rust目录
- 进入到rust目录,该目录为后续所有rust代码的根目录
- 创建一个"hello_world"目录
- 进入到hello_world目录下
编写并运行第一个rust程序
编写一个新文件并命名为main.rs。Rust文件以.rs作为扩展名。如果你的文件名包含多个单词,Rust建议以下划线作为分隔符,比如hello_world.rs,而不是helloworld.rs。
文件名:main.rs
fn main() {
println!("Hello, world!");
}
保存文件,然后进入到rust的shell命令行下,输入以下命令:
D:\learning\rust\hello_world>rustc main.rs
D:\learning\rust\hello_world>.\main.exe
Hello, world!
如果"Hello, world!"能够成功地打印出来,祝贺你,现在你已经是一个Rust程序员了。
Rust程序解析
让我们来详细地看下"Hello, world!"程序做了些啥。
fn main() {
}
上面代码用于定义一个Rust的函数。其中main函数总是特殊的:Rust程序执行时总是从main函数开始的。上面的main函数没有定义参数,也没有返回值。如果需要参数,这些参数将被放到括号里面。
Rust的函数体使用{}来包含该函数所有的代码,建议{}的格式是:“{”和函数声明放在一行,中间以一个空格隔开,"}"单独一行。
在main函数中包含下面的代码:
println!("Hello, world!");
这行代码做的所有工作:输出文本到屏幕。代码虽然少,但是有四个需要注意的地方:
- Rust的风格是以四个空格缩进,不是Tab。
- println!是一个Rust宏调用,而不是一个函数调用。如果是函数调用,应该使用println(没有!)。即"!"表示调用一个宏,而不是函数。注意:宏名和函数名并不总是一样。
- "Hello, world!"字符串,作为参数传递给"println!",这个字符串会被输出到屏幕上。
- 使用";"作为行结束符。
编译和运行是分开的
在运行一个Rust程序之前,必须先使用Rust编译器编译,格式如下:
> rustc main.rs
编译成功后,会输出一个二进制可执行文件main.exe:
D:\learning\rust\hello_world>dir
D:\learning\rust\hello_world 的目录
2021/11/07 17:44 .
2021/11/07 17:44 ..
2021/11/07 17:44 4,393,294 main.exe
2021/11/07 17:41 46 main.rs
2 个文件 4,393,340 字节
2 个目录 290,888,663,040 可用字节
D:\learning\rust\hello_world>
下面就可以执行该程序了
D:\learning\rust\hello_world>.\main.exe
Hello, world!
Rust是一门AOT(ahead-of-time compiled)语言,必须先编译成可执行的二进制文件,才能运行。