0
点赞
收藏
分享

微信扫一扫

『亚马逊云科技产品测评』活动征文|EC2 实例安装 docker 与配套软件部署前后端分离的医疗管理后台系统

Hyggelook 2023-11-26 阅读 8

Rust


才来实习,由于部门使用的SDK是rust语言,所以先浅浅进行rust学习与记录。

Rust是什么?

rust相比起C/C++等传统语言,拥有着卓越的、天生的内存安全性。相对于C#等带有垃圾回收机制的语言来讲,它遵循了零开销抽象(Zero-Cost Abstraction)规则,并为开发者保留了最大的底层控制能力。rust是一种专注于安全、并发和性能的系统级编程语言。

安装rust

本地安装与文档

在Linux或者Mac OS:

curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh

如果是安装成功,会显示信息:

另外,你还需要一个 链接器(linker),这是 Rust 用来将其编译的输出连接到一个文件中的程序。很可能你已经有一个了。如果你遇到了链接器错误,请尝试安装一个 C 编译器,它通常包括一个链接器。C 编译器也很有用,因为一些常见的 Rust 包依赖于 C 代码,因此需要安装一个 C 编译器。
在 macOS 上,你可以通过运行以下命令获得 C 语言编译器:

xcode-select --install

直接复制输入就好了。

在Windows:

在 Windows 上,前往 官方教程并按照说明安装 Rust。

检验一下:

rustc --version

当版本号显示出来,就代表你成功了。

更新与卸载

rustup update

一行搞定更新。

rustup self uninstall

一行搞定卸载。

如果你需要查看文档,就执行下面这一行在浏览器打开

rustup self uninstall

rust起步

写我们的第一个程序,hello world

(这里是对于Linux、macOS 和 Windows PowerShell的命令,后面的部分也都默认是在这几类而不是Windows CMD,后续就不再说明了)

mkdir ~/projects	#在home目录建一个projects目录(文件夹)
cd ~/projects	#进入projects
mkdir hello_world	#在projects建一个hello_world目录(文件夹)
cd hello_world	#进入hello_world

接下来在hello_world目录内创建一个源文件,命名为 main.rs。Rust 源文件总是以 .rs 扩展名结尾。如果文件名包含多个单词,那么按照命名习惯,应当使用下划线来分隔单词。例如命名为 hello_world.rs,而不是 helloworld.rs。

  • 创建源文件:
touch main.rs

进入文本编辑:

vim main.rs

按a进入插入模式,然后把我们的源代码放进去:

fn main() {
    println!("Hello, world!");
}

然后Ctrl + X完成保存,再按ESC退出插入模式。
最后进行保存:

:wq #按冒号+wq,进行修改后保存
#如果是未进行过修改直接退出,那就是:q

接下来对这个main.rs进行编译和运行

rustc main.rs
./main

输入上面两行,如果出现了"Hello,world!",那么恭喜你,已经成功走进了rust的大门!

语法其实对于有基础的同学来说,看起来也很熟悉。
不过要注意:

  • 这里的print是带的,这种实际上是rust的宏,并不是调用函数哦, println()才是函数。
  • 注意rust使用四个空格作为缩进而不是制表符tab

cargo

如果使用前面部分介绍的官方安装包的话,则自带了 Cargo。如果通过其他方式安装的话,可以在终端输入如下命令检查是否安装了 Cargo:

cargo --version

能显示版本号证明已经安装。

使用cargo创建项目

  1. 回到 projects 目录
  2. 创建目录与项目并进入(cd)
cargo new hello_cargo
cd hello_cargo
  1. 请自行选用文本编辑器打开 Cargo.toml 文件。它应该看起来如下所示:
[package]
name = "hello_cargo"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

这个文件使用 TOML (Tom’s Obvious, Minimal Language) 格式,这是 Cargo 配置文件的格式。

第一行,[package],是一个片段(section)标题,表明下面的语句用来配置一个包。随着我们在这个文件增加更多的信息,还将增加其他片段(section)。

接下来的三行设置了 Cargo 编译程序所需的配置:项目的名称、项目的版本以及要使用的 Rust 版本。附录 E 会介绍 edition 的值。

最后一行,[dependencies],是罗列项目依赖的片段的开始。在 Rust 中,代码包被称为 crates。这个项目并不需要其他的 crate,不过在第二章的第一个项目会用到依赖,那时会用得上这个片段。

现在打开 src/main.rs 看看:

文件名:src/main.rs

fn main() {
    println!("Hello, world!");
}

Cargo 为你生成了一个 “Hello, world!” 程序,正如我们之前编写的示例 1-1!目前为止,我们的项目与 Cargo 生成项目的区别是 Cargo 将代码放在 src 目录,同时项目根目录包含一个 Cargo.toml 配置文件。

Cargo 期望源文件存放在 src 目录中。项目根目录只存放 README、license 信息、配置文件和其他跟代码无关的文件。使用 Cargo 帮助你保持项目干净整洁,一切井井有条。

如果没有使用 Cargo 开始项目,比如我们创建的 Hello,world! 项目,可以将其转化为一个 Cargo 项目。将代码放入 src 目录,并创建一个合适的 Cargo.toml 文件。

cargo基本命令

  1. 编译并执行
cargo run    #编译形成可执行文件并运行
  1. 如果是只编译
cargo build

由于默认的构建方法是调试构建(debug build),Cargo 会将可执行文件放在名为 debug 的目录中。

所以要执行的话

./target/debug/hello_cargo

选择执行正确的路径下的文件就好,到这里的效果就相当于cargo run了。

所以平时没有特殊需求,就直接cargo run

  1. 不编译但确认可编译
cargo check

check的意义是让你确认你编写的代码没有语法上的错误,平时就check检错,当你真正要执行代码的时候,再build或者run就好。

其实,要在任何已存在的项目上工作时,可以使用如下命令通过 Git 检出代码,移动到该项目目录并构建:

$ git clone example.org/someproject
$ cd someproject
$ cargo build

到这里,我们对rust的构建和运行已经了解了,可以开始我们的rust之路了。

摘选自:
Rust程序设计语言中文版

举报

相关推荐

0 条评论