当前位置: 首页 > article >正文

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

一、创建项目目录

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

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

    $ mkdir ~/projects
    $ cd ~/projects
    $ mkdir hello_world
    $ cd hello_world
    
  • Windows CMD 示例:

    > mkdir "%USERPROFILE%\projects"
    > cd /d "%USERPROFILE%\projects"
    > mkdir hello_world
    > cd hello_world
    

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

二、编写 main.rs 文件

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

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

三、编译并运行

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

  1. 编译程序
    在 Linux、macOS 或 Windows PowerShell 中,输入以下命令:

    $ rustc main.rs
    

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

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

    • 在 Linux、macOS 或 Windows PowerShell 上:

      $ ./main
      
    • 在 Windows CMD 上:

      > .\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 的世界里学习愉快、一路顺风!让我们一起期待下一个精彩的项目吧!


http://www.kler.cn/a/509047.html

相关文章:

  • 【王树森搜索引擎技术】概要01:搜索引擎的基本概念
  • SpringMVC 实战指南:打造高效 Web 应用的秘籍
  • web worker 前端多线程一、
  • 初学stm32 --- flash模仿eeprom
  • 第8篇:从入门到精通:掌握Python异常处理
  • HTML中如何保留字符串的空白符和换行符号的效果
  • 2024年AI与大数据技术趋势洞察:跨领域创新与社会变革
  • 【PyCharm】远程连接Linux服务器
  • 钉钉消息推送()
  • 数据结构——队列和栈(介绍、类型、Java手搓实现循环队列)
  • RV1126+FFMPEG推流项目(5)VI和VENC模块绑定,并且开启线程采集
  • 【Django开发】django美多商城项目完整开发4.0第12篇:商品部分,表结构【附代码文档】
  • 动手学大数据-1大数据体系介绍与 SQL 处理流程
  • 58,【8】BUUCTF [PwnThyBytes 2019]Baby_SQL1
  • Python 调整 Excel 中的行列顺序
  • 【漫话机器学习系列】053.梯度爆炸(Exploding Gradient Problem)
  • Day30上 - ChromaDB 向量数据库
  • 基于springboot+vue的食物营养分析与推荐网站的设计与实现
  • 性能测试实时监听工具Influx+Grafana
  • Banana Pi BPI-RV2 RISC-V路由开发板采用矽昌通信SF2H8898芯片
  • Web开发 -前端部分-CSS-2
  • 搜广推实习面经三
  • 机器学习之决策树(DecisionTree)
  • AD域学习笔记
  • 基于C语言的通讯录实现
  • Kotlin语言的数据库交互