用 Rust 写下第一个 “Hello, World!”

一、创建项目目录

首先,我们需要为自己的项目创建一个工作目录,用来存放 Rust 代码。这个目录放在哪里都行,这里推荐在"家"目录(或用户目录)下创建一个 projects 文件夹,并在其中再创建一个专门放置"Hello, world!"程序的子文件夹。

  • Linux、macOS、PowerShell(Windows)示例:

    bash 复制代码
    $ mkdir ~/projects
    $ cd ~/projects
    $ mkdir hello_world
    $ cd hello_world
  • Windows CMD 示例:

    bash 复制代码
    > mkdir "%USERPROFILE%\projects"
    > cd /d "%USERPROFILE%\projects"
    > mkdir hello_world
    > cd hello_world

这样,我们就拥有了一个名为 hello_world 的文件夹来存放代码。

二、编写 main.rs 文件

接下来,创建一个名为 main.rs 的源文件(Rust 代码的后缀名统一是 .rs),并将以下代码写入其中:

rust 复制代码
fn main() {
    println!("Hello, world!");
}
  • fn main() {}:这是 Rust 程序的主入口函数,每个可执行程序都需要有一个 main 函数,执行程序时会从这里开始运行。
  • println!("Hello, world!");:调用了一个 Rust 宏(macro)来向屏幕打印输出 Hello, world!
  • 以分号 (;) 结尾:Rust 中大多数语句都以分号结束。

三、编译并运行

完成编写后,回到命令行,进入到 hello_world 目录中:

  1. 编译程序

    在 Linux、macOS 或 Windows PowerShell 中,输入以下命令:

    bash 复制代码
    $ rustc main.rs

    这会使用 Rust 编译器 rustc 将我们的源代码编译成一个可执行文件。如果在 Linux 或 macOS 上,生成的可执行文件默认为 main,Windows 上会是 main.exe

  2. 运行程序

    编译完成后,通过以下命令执行编译生成的可执行文件:

    • 在 Linux、macOS 或 Windows PowerShell 上:

      bash 复制代码
      $ ./main
    • 在 Windows CMD 上:

      bash 复制代码
      > .\main.exe

终端应该会输出:

Hello, world!

如果看到这条输出,恭喜你!你已经成功运行了 Rust 程序,正式踏入了 Rust 的世界。

四、程序结构解析

让我们对这个简单的程序做一点拆解,便于理解:

  1. fn main()

    • fn 是声明函数的关键字。
    • main 是 Rust 可执行程序的入口函数。
    • () 中可以放置参数,但在此我们并不需要。
    • 函数体被 {} 包围。
  2. println!("Hello, world!");

    • println! 是一个宏,而非普通函数。宏在名称后有一个 !,并且可能具有与函数不同的使用规则。
    • 它会在屏幕上打印出括号内给出的字符串,并自动换行。
    • 以分号 ; 结尾。
  3. 文件后缀名

    • Rust 源文件统一使用 .rs。当我们需要把代码拆分为多个文件时,也需遵循同样的扩展名,并用下划线连接多个词(如 hello_world.rs)。

五、编译与运行是分开进行的

在许多动态语言(如 Ruby、Python、JavaScript)中,通常只需要一条命令便可运行脚本,而 Rust(类似 C/C++)是先编译再运行,这样做有以下好处:

  • 提前发现问题:编译器在生成可执行文件前,会对你的代码做严格的检查,这能在运行前就发现很多潜在错误。
  • 更快的执行速度:Rust 是 "提前编译" 的语言,把结果编译为与平台无关的高效可执行文件,不依赖额外的解释器或虚拟机。
  • 无需安装环境:你可以把编译好的可执行文件给别人使用,对方不需要安装 Rust 环境。

六、如果程序无法正常运行

  • 检查是否安装或配置好 Rust :可通过 rustc --version 和查看系统的 PATH 环境变量来确认编译器是否在正确位置。
  • 参考安装部分的故障排除 :若仍无法解决,Rust 社区(Rust Community)是一个非常好的学习与交流场所,Rustaceans(Rust 用户)会热心地提供帮助。

七、后续进阶:Cargo 工具

使用 rustc 命令编译简单小程序是非常直接的,但当项目规模变得复杂时,我们需要一种更方便的管理方式------这就是 Cargo。它是 Rust 的包管理工具与构建系统,能够帮助你轻松管理项目依赖、测试、打包和发布等一系列操作。在下一个阶段,你将会接触并熟悉 Cargo,从而更高效地进行 Rust 开发。

八、总结

  • 你在一个名为 hello_world 的文件夹下编写了一个 main.rs 文件,并成功编译运行,打印出 Hello, world!
  • Rust 是一种提前编译的语言,先编译再运行的模式可以在运行前就发现问题,并且编译后的二进制文件速度快且无需安装环境即可执行。
  • 接下来,你可以了解更多 Rust 语法,学习 Cargo 等工具,深入探索 Rust 在不同场景下的应用!

现在,你已经完成了第一个 Rust 程序,成为了一名真正的 Rustacean。继续前行,你会发现 Rust 的更多魅力所在------无论是安全性、高性能,还是现代化的语法与社区氛围,都值得好好体验。

祝你在 Rust 的世界里学习愉快、一路顺风!让我们一起期待下一个精彩的项目吧!

相关推荐
bing_1581 分钟前
Spring Boot 中使用 ShardingSphere-Proxy
java·spring boot·后端
十二同学啊3 分钟前
Spring Boot 整合 Knife4j:打造更优雅的 API 文档
java·spring boot·后端
青木川崎7 分钟前
Mybatis面试题
java·开发语言·mybatis
wclass-zhengge14 分钟前
02UML图(D1_结构图)
java·开发语言·算法
老猿讲编程21 分钟前
详解Rust 中 String 和 str 的用途与区别
开发语言·后端·rust
菜鸟阿康学习编程28 分钟前
JDBC 实战项目(增删改查小系统,接近完美!)017
java·开发语言·数据库
Q_274378510932 分钟前
springboot基于微信小程序的智慧小区管理系统
spring boot·后端·微信小程序
九离十1 小时前
基于C语言的通讯录实现
c语言·开发语言
007php0071 小时前
深入了解计算机网络中的路由协议与性能优化
java·开发语言·数据库·后端·python·计算机网络·golang
brrdg_sefg1 小时前
飞牛os使用ddns-go配合华为云实现内网穿透
开发语言·golang·华为云