【一起学Rust】Rust的Hello Rust详细解析

在这里插入图片描述

跟随本篇文章,你将学会编写Rust的Hello World,并且对Rust编程有个初步的了解。

文章目录

  • 前言
  • 一、创建项目目录
  • 二、编写Hello World
  • 三、运行程序
    • 编译
    • 运行
  • 四、分析Hello World
    • 源码分析
    • 编译过程
  • 总结
  • 作业


前言

在上一小结中,我们搭建了 Rust 的开发环境,并且使用 Rust 的包管理工具 Cargo 运行了官方提供的示例程序。

本节我们将使用 Rust 来实现一个 Hello World。当你学习任意一门编程语言时,学习的第一门课就是 Hello World,通过 Hello World 你可以了解这门编程语言基本上是什么样子的,怎么编程,对其一些语法特性能有个基本的了解。


一、创建项目目录

Rust 原本是提供了包管理工具 Cargo 的,它提供了项目创建的功能,可以创建一个完整的 Rust 项目,但是 Rust 实际上运行可以不依赖其他的项目文件。

Rust 就和 C 语言差不多,有可以将源码单独编译成一个文件的能力。就像你写了个 main.c ,里面写了 Hello World,然后执行 cl main.c 一样。这是预编译类型语言一个相当强大的能力,强如 Java 使用 javac 编译出来的也只是字节码文件,需要借助 JVM 才可以运行,而 Rust 编译的文件则可以不借助于运行时运行。

因此,现在我们使用 Rust 来做这件事。首先就是新建一个文件夹,这个文件夹在什么地方你可以自己定,只要你能找到它就行,你甚至可以创建在桌面。我就创捷到了一个地方,并且将这些项目名字规整的放在一起,方便查看。

【一起学Rust】Rust的Hello Rust详细解析_第1张图片


二、编写Hello World

现在,找到你创建的文件夹,进入这个文件夹,然后创建个文件 main.rs ,就像下面图中一样,
【一起学Rust】Rust的Hello Rust详细解析_第2张图片
然后在空白处 右击 ,并选择 使用vscode打开

其实 Rust 是不限制你使用何种代码编辑器的,哪怕是记事本也可以编写 Rust 代码,我们这里为了方便,就选择了 vscode。

【一起学Rust】Rust的Hello Rust详细解析_第3张图片
然后在 写代码区域 中写入以下代码,

fn main() {
    println!("hello rust!");
}

这样 Hello World 就编写完成了。


三、运行程序

运行这个 Rust 程序分为两个步骤,

  1. 编译
  2. 运行

编译: 就是将代码编译成二进制可执行程序。

在 vscode 的下方,有个终端选项卡,如下图
【一起学Rust】Rust的Hello Rust详细解析_第4张图片

编译

现在我们开始编译刚才写的代码,在终端中输入以下命令运行编译程序,

rustc main.rs

如果没有出现错误,你将出现和我一样的界面
【一起学Rust】Rust的Hello Rust详细解析_第5张图片
在文件目录会多出两个文件,main.exemain.pdb

  • main.exe是编译好的可执行文件,你在文件管理器界面直接双击就可以运行
  • main.pdb是一个包含调试信息的文件

运行

现在我们来运行这个可执行文件,在终端中输入以下命令运行程序

.\main.exe

在终端中就会输出 Hello World了。

现在我们在文件管理器中文件,首先进入你创建项目的文件夹,
【一起学Rust】Rust的Hello Rust详细解析_第6张图片
双击 main.exe ,你就会发现什么也没有出现,就是电脑屏幕闪了一下。这是没有问题的,因为我们创建的是命令行程序,是没有窗口的,在程序输出完 Hello World 以后就运行结束了,所以什么都看不到。

在空白处 右击 ,选择 打开终端 ,然后输入以下命令运行,可以得到和之前一样的结果。

.\main.exe

【一起学Rust】Rust的Hello Rust详细解析_第7张图片


四、分析Hello World

接下来我们对这个编写并运行 Hello World 的流程进行分析。

源码分析

在这段简短的源码中,我们创建了一个 main 函数,并且输出了 Hello World, 以下内容是你要注意的,

  1. 入口函数是 main ,遵循大多数编程语言的传统

【一起学Rust】Rust的Hello Rust详细解析_第8张图片

  1. 大括号标明作用域

【一起学Rust】Rust的Hello Rust详细解析_第9张图片

  1. 创建 main 函数,() 中没有内容表示不接受参数

【一起学Rust】Rust的Hello Rust详细解析_第10张图片

  1. 语句分号结尾

【一起学Rust】Rust的Hello Rust详细解析_第11张图片
除此以外,还有一些东西,是我们后面才会学到的东西,你有兴趣可以了解一下,

  • println! 并不是一个函数调用,这是个宏调用,如果你见到 ! 表示这是个宏
  • Rust 缩进风格使用 4 个空格,而不是 1 个制表符 tab

编译过程

在 Rust 中,编译和运行是独立的步骤,你需要将源码编译成可执行文件,然后再执行这个可执行文件
【一起学Rust】Rust的Hello Rust详细解析_第12张图片
我们使用以下命令进行编译,

rustc main.rs
  • rustc 是 Rust提供的将源码编译成为可执行文件的程序,接收一个文件名
  • main.rs 是源文件的文件名,这里被当作参数传递给 rustc
  • 两部分要使用空格 隔开,区分传递给程序的参数

总结

现在,你已经学会使用 Rust 来编写一个 Hello World,并且对 Rust 编译和执行有所了解。


作业

考虑以下问题,重复自己在脑海中学过的东西,使对其印象更加深刻,从而让你对本章知识有更深的理解。

  1. 使用 Rust 输出你的名字
  2. 回顾 Rust 的编译和运行

你可能感兴趣的:(一起学Rust,#,Rust基础篇,rust,开发语言,后端)