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

Rust编程语言入门教程(二)hello_world

目录

  • 引言
  • 一、创建项目并使用vscode打开
  • 二、编写 Rust 程序
  • 三、编译与运行 Rust 程序
  • 四、Rust 程序解剖
  • 总结

引言

Rust 是一种现代系统编程语言,以其内存安全、并发性和高性能而闻名。它结合了低级语言的性能和控制能力,同时提供了高级语言的安全性和便利性。对于初学者来说,编写和运行第一个 Rust 程序是掌握这门语言的第一步。本文将引导你从创建项目、编写简单的 Rust 程序,到编译和运行程序,最后深入解析 Rust 程序的基本结构。通过这个过程,你将初步了解 Rust 的基本语法和开发流程。

一、创建项目并使用vscode打开

在这里插入图片描述

二、编写 Rust 程序

  • 程序文件后缀名: rs
  • 文件命名规范:hello_world.rs

编写第一个简单程序。在这里插入图片描述

更改文件名
在这里插入图片描述
在这里插入图片描述

三、编译与运行 Rust 程序

  • 编译: rustc main.rs
  • 运行:
    Windows: .\main.exe
    Linux/mac: ./main

编译和运行是单独的两步!

  • 运行 Rust 程序之前必须先编译,命令为:

rustc 源件名
例:rustc main.rs

在这里插入图片描述
在这里插入图片描述

  • 编译成功后,会生成一个二进制文件
    在 Windows 上还会生成一个 .pdb 文件,里面包含调试信息

运行main.exe文件
在这里插入图片描述

  • Rust 是 ahead-of-time 编译的语言(预编译语言)
    可以先编译程序,然后把可执行文件交给别人运行(无需安装RUst)
  • rustc 只适合简单的 Rust 程序,如果rust程序比较大,里面的文件比较多,那这时候用Cargo比较合适。

四、Rust 程序解剖

  • 定义函数:fn main() { }
    没有参数,没有返回
  • main 函数很特别:它是每个Rust可执行程序最先运行的代码
  • 打印文本:printIn!("Hello, world!");
    Rust的缩进是4个空格而不是 tab
    println! 是一个 Rust macro(宏) 如果是函数的话,就没有!
    “Hello Word” 是字符串,它是 println! 的参数
    这行代码以 ; 结尾

总结

通过本文的步骤,你已经成功创建并运行了你的第一个 Rust 程序。我们从创建项目开始,使用 VSCode 打开并编写了一个简单的 hello_world.rs 程序。接着,我们学习了如何使用 rustc 编译 Rust 程序,并在不同操作系统上运行生成的可执行文件。我们还探讨了 Rust 程序的基本结构,包括 main 函数的定义、println! 宏的使用以及 Rust 的代码风格。

Rust 的编译和运行过程是分离的,这使得 Rust 成为一种预编译语言,允许你将编译后的可执行文件分发给他人而无需他们安装 Rust 环境。尽管 rustc 适用于简单的程序,但对于更复杂的项目,推荐使用 Cargo 来管理依赖和构建过程。

通过这个简单的示例,你已经迈出了学习 Rust 的第一步。接下来,你可以继续探索 Rust 的更多特性,如变量、数据类型、控制流、函数、模块等,逐步掌握这门强大的编程语言。


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

相关文章:

  • 开源模型应用落地-Qwen1.5-MoE-A2.7B-Chat与vllm实现推理加速的正确姿势(一)
  • Zookeeper(45) 如何在Zookeeper中删除节点?
  • 网络运维和网络安全哪个前景好?
  • Python数据可视化 - Matplotlib教程
  • Redis可视化连接工具RedisDesktopManager的下载与安装
  • 基于实例详解pytest钩子pytest_generate_tests动态生成测试的全过程
  • 数据结构与算法之排序算法-选择排序
  • dash SQLite 留言本应用技术实现说明
  • 网络安全之笔记--Linux命令
  • 基于Swift实现拼图游戏
  • SOUI基于Zint生成Code11码
  • centos docker ngnix
  • 【kafka系列】Kafka事务的实现原理
  • Python 基于 OpenCV 的人脸识别上课考勤系统(附源码,部署教程)
  • GenMol:基于SAFE分子表示法的分子生成模型(一)
  • 【D2】神经网络初步学习
  • Rander压力测试监测,更改服务端资源node
  • 【Maven】多module项目优雅的实现pom依赖管理
  • 盲水印、暗水印(Blind Watermark)算法简明教程:算法原理、流程以及基于C/C++ 的代码实现
  • [原创](Modern C++)现代C++的关键性概念: 文件系统标准库<filesystem>真心好用.