Rust 入门教程#1:创建并运行您的第一个 Rust 程序
Rust 编程语言是最受开发人员和科技公司青睐的最快采用的系统编程语言之一。它也被开发人员投票评为最受喜爱的编程语言之一,持续七年获得这种赞誉!
它如此受欢迎,以至于在Linux生态系统中现在有两个重大的努力:
- 将 Rust 作为 Linux 内核的辅助编程语言
- System76 正在使用 Rust 从头开始编写自己的桌面环境
- https://www.linuxmi.com/rust-linux-kernel-language.html
这仅仅是在 Linux 生态系统中的情况。Android 的蓝牙实现 Gabeldorsche 现在也用 Rust 编写。
你看到了 Rust 的日益流行吗?你是否可能也想学习 Rust 编程。
为什么应该选择 Rust 而不是其他编程语言呢?
Rust 是一种具有极其严格类型系统的编程语言。因此,你会被“迫”在一开始就不写糟糕的代码(通常是这样)。
Rust编程语言具有以下“目标”:
- 速度:Rust 的二进制文件与 C 的二进制文件一样快,有时甚至比 C++ 的二进制文件更快!
- 内存安全:Rust非常注重内存安全。
- 并发性:注重内存安全消除了很多类似于竞争条件的场景,帮助您在程序中引入并发性。
以下是在 C/C++ 等语言中可能出现的一些错误(但不会在 Rust 中出现):
- 使用后释放
- 双重释放
- 访问超出界限的值
- 使用空指针
- 不适当的指针算术和/或访问
- 使用未初始化的变量
- 线程不安全的多线程
看一下这些问题在苹果、微软、谷歌、0day等大公司中造成的影响。
现在你知道为什么要选择 Rust 编程语言而不是其他任何一种语言,让我们开始 Rust 语言教程系列吧!
目标受众
出于对 Rust 的热爱,我写了这一系列 Rust 教程,帮助你熟悉 Rust 编程概念。
这个教程系列面向已经熟悉 C 和 C++ 等编程语言的人。我假定你知道基本术语,比如变量、函数、循环等。
我所要求的唯一前提条件就是你的时间和一些努力。
安装 Rust 编译器
我希望你本地安装了 Rust 编译器。你可以通过运行以下命令来安装:
linuxmi@linuxmi:~/www.linuxmi.com$ curl --proto '=https' --tlsv1.3 -sSf https://sh.rustup.rs | sh
除了 Rust 编译器之外,我还建议安装几个其他工具,这些工具将有助于您的开发过程:
linuxmi@linuxmi:~/www.linuxmi.com$ rustup component add rust-src rust-analyzer rust-analysis
您还需要安装 gcc。否则,您可能会遇到链接器“cc”未找到的错误。该软件包在不同的发行版中被称为gcc。
在 Ubuntu 和 Debian 上使用:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install gcc
Hello Rust!
自从 Dennis Ritchie 和 Brian Kernighan 使用“Hello world”程序引入 C 编程语言以来,它已经成为了 UNIX 世界中任何学习新编程语言的惯例。
因此,我们也来用 Rust 编写我们的 Hello World 程序吧。
我将在我的主目录中创建一个名为 www.linuxmi.com 的项目目录。在其中,我创建另一个名为 hello-world 的目录。在其中,我将创建一个main.rs 文件:
// 该代码输出文本
// 输出 "Hello world!Linux迷 www.linuxmi.com
fn main() {
println!("Hello world!Linux迷 www.linuxmi.com");
}
是的,就像 C、C++ 和 Java 源文件的扩展名分别是 .c、.cpp 和 .java 一样,Rust 源文件的扩展名是 .rs。
是的,与在 Linux 上使用 gcc,macOS 上使用 clang 和 Windows 上使用 MSVC 编译 C/C++ 程序相同,编译 Rust 代码需要使用语言创建者提供的官方编译器 rustc。
运行 Rust 程序与执行 C/C++ 程序相同。您需要编译代码以获取可执行文件,然后运行该可执行文件来运行代码。
linuxmi@linuxmi:~/www.linuxmi.com$ ls
linuxmi.rs
linuxmi@linuxmi:~/www.linuxmi.com$ rustc linuxmi.rs
linuxmi@linuxmi:~/www.linuxmi.com$ ls
linuxmi linuxmi.rs
linuxmi@linuxmi:~/www.linuxmi.com$ ./linuxmi
Hello world!Linux迷 www.linuxmi.coms
是不是一切 OK。
Rust 代码解析
既然你已经写、编译并运行了你的第一个 Rust 程序,让我们分解“Hello World”代码并理解每个部分。
fn main() {
}
fn
关键字用于在 Rust 中声明一个函数。在这里,main
是声明的这个特定函数的名称。像许多编译型编程语言一样,main
是用作程序入口点的特殊函数。
在 main
函数内编写的任何代码(在大括号 {}
之间)将在程序启动时执行。
println 宏
在 main
函数内,有一条语句:
println!("Hello world!");
与 C 语言的标准库有 printf
函数类似,Rust 语言的标准库有 println
宏。宏类似于函数,但它可以用感叹号来区分。在本系列中,你将学习有关宏和函数的更多知识。
println
宏接受格式字符串并将其放到程序的输出(在我们的例子中,这是终端)中。由于我希望输出一些文本而不是一个变量,因此我将文本放在双引号 ("
) 中。最后,我使用分号 (;
) 结束这个语句,表示语句的结尾。
需要注意的是,在 Rust 编程语言中,任何看起来像函数调用但在左括号前有惊叹号(!)的东西都是宏。
注释方面
Rust 遵循了 C 语言的注释风格。单行注释以两个斜杠(//)开头,而多行注释则以 /* 开头,以 */ 结尾。
// 这是单行注释
// 但是没有任何力量阻止我
// 在第二行或第三行继续这样做
/*
* 这是一个真正的多行注释。
* 因为它看起来很炫酷。
*/
总结
您刚刚通过 Hello World 程序迈出了学习 Rust 的第一步。
作为练习,也许您可以编写并执行一个 Rust 程序,该程序打印“是的!我学会了 Rust”。
在本系列的下一部分中,您将学习在 Rust 程序中使用变量。敬请期待!
The post Rust 入门教程#1:创建并运行您的第一个 Rust 程序 first appeared on Linux迷.
共有 0 条评论