如何编写一个 Rust 程序——Rust语言基础02

1. Hello World!

在所有编程语言的教程中让大家接触的第一段程序便是将 “Hello World!” 这段文字打印到屏幕上,这样的开端被绝大多数语言的教学接受,并往后编程语言也墨守成规。因此我们这里在学习 Rust 语言也不例外的写一段打印 “Hello World!” 的代码作为我们第一段编写的 Rust 代码。

2. 创建项目目录

为了使自己有个良好的工程构建习惯,我们在这里从项目的目录创建开始做起(即便该代码在哪里并不重要,都是可以运行的)。
我们在这里创建一个与 rust 有关的项目目录,之后在其中创建一个具体的项目 “Hello World” 目录作为存储我们编写代码的目录。

imaginemiracle:Code$ mkdir rust_projects
imaginemiracle:Code$ cd rust_projects/
imaginemiracle:rust_projects$ mkdir hello_world
imaginemiracle:rust_projects$ cd hello_world/
imaginemiracle:hello_world$

3. 编写和运行 “Hello World” 程序

接下来,创建一个新的源文件并将其命名为 main.rsRust 文件总是以 .rs 扩展名结尾。如果在文件名中使用多个单词,请使用下划线分隔它们。例如,使用 hello_world.rs 而不是 helloworld.rs

# 打开并创建 main.rs 源文件
imaginemiracle:hello_world$ vim main.rs

编写 “Hello World” 程序的主函数 main

// File: main.rs
fn main() {
    println!("Hello World!");                                                                                             
}

编译 main.rs 源文件,并执行编译生成的可执行程序。

imaginemiracle:hello_world$ rustc main.rs 
imaginemiracle:hello_world$ ls
main  main.rs
imaginemiracle:hello_world$ ./main 
Hello World!

这里我们可以看到该段代码编译执行后,会在终端里打印出 “Hello World!” 这段文本和一个换行符。

4. “Hello World” 代码分析

4.1. Rust 语言中的 main 函数

让我们详细回顾一下刚刚在 “Hello, world!” 中发生的事情。首先下面这部分是我们写的第一个部分:

fn main() {

}

这些行在 Rust 中定义了一个函数。这个 main 函数很特别:它总是在每个可执行的 Rust 程序中运行的第一个代码。第一行声明了一个名为的函数 main,它没有参数并且不返回任何内容。如果有参数,它们将放在括号内,()

另外,请注意,函数体用大括号括起来,{}Rust 需要这些围绕所有函数体。将左大括号与函数声明放在同一行是一种很好的风格,在两者之间添加一个空格(需要注意的良好的编写习惯)。

如果你想在 Rust 项目中坚持标准风格,你可以使用一个名为的自动格式化工具 rustfmt 来格式化你的代码为特定风格。Rust 团队已将此工具包含在标准的 Rust 发行版中,例如 rustc,因此它应该已经安装在您的计算机上!为了不打断代码分析的进程,笔者将 rustfmt 工具的使用示例放在了后面(本文的 4.3 小节)。

4.2. Rust 中的宏——println!

这是 main 函数的函数体内容。

	println!("Hello World!");

这一行完成了这个小程序中的所有工作:它将文本打印到屏幕上。这里有四个重要的细节需要注意。

(1) Rust 风格是缩进四个空格,而不是制表符 (Tab)。

(2) println! 调用 Rust 宏。如果它改为调用一个函数,它将被输入为 println(不带 !)。我们将在以后更详细地讨论 Rust 宏。现在,您只需要知道使用一个 ! 意味着正在调用宏而不是普通函数,并且宏并不总是遵循 “与” 功能。

(3) 你看到了 "Hello, world!" 字符串。我们将此字符串作为参数传递给 println!,然后将字符串打印到屏幕上。

(4) 我们用分号 ( ; ) 结束这一行,这表示这个表达式已经结束,下一个表达式已准备好开始。大多数 Rust 代码行都以分号结尾。

4.3. 自动调整代码格式工具——rustfmt

这里简单的介绍 rustfmt 工具的使用方法,当安装完 Rust 的发行版后,会连带常用的工具也会安装好,rustfmt 就是其中之一。事实上 rustfmt 的使用方式很简单。
首先,我们将刚刚编写的 main.rs 中的代码格式打乱。

imaginemiracle:hello_world$ cat main.rs 
fn 
main() {    println!("Hello World!");}

现在,使用 rustfmt 工具自动调整代码格式。

imaginemiracle:hello_world$ rustfmt main.rs 
imaginemiracle:hello_world$ cat main.rs 
fn main() {
    println!("Hello World!");
}

可以看到被打乱的代码,已经被排版整齐,是不是很方便!

5. Rust 程序的编译和运行

可能聪明的大家已经注意到了,Rust 程序像大多数语言一样,编译和运行是作为两个步骤分开操作的。我们再回顾一遍刚才的步骤。
首先,我们使用 Rust 编译器通过输入 rustc 命令并将源文件的名称传递给它来编译源文件。

imaginemiracle:hello_world$ rustc main.rs 

编译成功后便会输出一个二进制的可执行文件(与 cc++代码被 gcc 编译一样),这里不带扩展名的 main 文件便是编译器输出的二进制可执行文件。当我们执行该文件,便实现了在中终端里打印出 “Hello World!” 这段文字。

imaginemiracle:hello_world$ ls
main  main.rs

imaginemiracle:hello_world$ file main
main: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3e57065668270319df598abd5cbede6207e35eb6, for GNU/Linux 3.2.0, with debug_info, not stripped

imaginemiracle:hello_world$ ./main 
Hello World!

Boys and Girls!!!
准备好了吗?下一节我们要开始做个小练习了哦!

不!我还没准备好,让我先回顾一下之前的。
上一篇《Rust 环境安装——Rust语言基础01》

我准备好了,掛かって来い(放马过来)!
下一篇《使用 Cargo 构建管理 Rust 项目——Rust语言基础03》


觉得这篇文章对你有帮助的话,就留下一个赞吧v*
请尊重作者,转载还请注明出处!感谢配合~
[作者]: Imagine Miracle
[版权]: 本作品采用知识共享署名-非商业性-相同方式共享 4.0 国际许可协议进行许可。
[本文链接]: https://blog.csdn.net/qq_36393978/article/details/125201468

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Imagine Miracle

爱你哟 =^ v ^=

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值