前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Rust入坑指南

Rust入坑指南

作者头像
Jackeyzhe
发布2020-03-10 09:12:47
发布2020-03-10 09:12:47
81300
代码可运行
举报
文章被收录于专栏:代码洁癖患者代码洁癖患者
运行总次数:0
代码可运行

Rust简介

众所周知,在编程语言中,更易读的高级语言和控制底层资源的低级语言是一对矛盾体。Rust想要挑战这一现状,它尝试为开发者提供更好的体验的同时给予开发者控制底层细节的权限(比如内存使用)。

低级语言在开发过程中很容易出现各种细微的错误,它们难以发现但是可能影响巨大。其他大部分低级语言只能靠覆盖面更广的测试用例和经验丰富的开发者来解决这些问题。而Rust则依靠严格的编译器来杜绝这些问题。

Ps:以后会见识到Rust编译器的「厉害」

Rust的一些工具:

  • Cargo,依赖包的管理和构建工具,可以帮你减轻添加、编译和管理依赖包的痛苦
  • Rustfmt,用于保证开发者代码风格的一致性
  • Rust语言服务器支持集成IDE(我用的是IDEA)

安装Rust

如果你的操作系统是Linux或macOS,在终端执行命令

代码语言:javascript
代码运行次数:0
运行
复制
1$ curl https://sh.rustup.rs -sSf | sh

安装过程中的选项使用默认就好(一路回车),直到出现以下信息时,表示安装成功。

代码语言:javascript
代码运行次数:0
运行
复制
1Rust is installed now. Great!

安装脚本会自动把Rust添加到环境变量PATH中,可以重启终端或者手动执行命令使添加生效。

代码语言:javascript
代码运行次数:0
运行
复制
1$ source $HOME/.cargo/env

当然也可以添加到你的.bash_profile文件中:

代码语言:javascript
代码运行次数:0
运行
复制
1$ export PATH="$HOME/.cargo/bin:$PATH"

最后,执行以下命令来检查Rust是否安装成功

代码语言:javascript
代码运行次数:0
运行
复制
1$ rustc --version

另外,当你尝试编译Rust代码,但报了linker不可执行的错误时,你需要手动安装一个linker,C编译器通常会包含正确的linker。Rust的一些公共包也会依赖C语言代码和编译器。所以最好现在安装一个。

IDEA集成Rust

IDEA中集成Rust也很简单,只需要在Preference->Plugins中搜索Rust,安装Rust插件后重启IDEA就可以了。

Hello World

又到了经典的Hello World时间,这次我不想直接一个简单的print就结束了,我们一开始提到了Cargo是Rust依赖包的管理工具,所以我想体验一下Cargo的用法。

首先新建一个项目,可以直接用在IDEA中new project,也可以使用Cargo命令

代码语言:javascript
代码运行次数:0
运行
复制
1cargo new hello-world
2cd hello-world

新建好项目以后,它的结构长这样子

其中

  • main.rs是我们代码的入口文件
  • Cargo.toml是记录Rust元数据的文件,包括依赖。
  • Cargo.lock是记录增加依赖log的文件,不能手动修改。

接着我们在Cargo.toml文件中添加我们需要的依赖

代码语言:javascript
代码运行次数:0
运行
复制
1[dependencies]
2ferris-says = "0.1"

这时IDEA会自动安装依赖包,如果没有安装,也可以手动执行命令来安装

代码语言:javascript
代码运行次数:0
运行
复制
1cargo build

依赖安装好以后,就可以开始写代码了:

代码语言:javascript
代码运行次数:0
运行
复制
 1use ferris_says::say;
 2use std::io::{stdout, BufWriter};
 3
 4fn main() {
 5    let stdout = stdout();
 6    let out = b"Hello World!";
 7    let width = 12;
 8
 9    let mut writer = BufWriter::new(stdout.lock());
10    say(out, width, &mut writer).unwrap();
11}

执行结果

代码语言:javascript
代码运行次数:0
运行
复制
1----------------
2| Hello World! |
3----------------
4              \
5               \
6                  _~^~^~_
7              \) /  o o  \ (/
8                '_   -   _'
9                / '-----' \

没错,这是一个小螃蟹,至于它是谁,来看看官方解释

Ferris is the unofficial mascot of the Rust Community. Many Rust programmers call themselves “Rustaceans,” a play on the word “crustacean.” We refer to Ferris with the pronouns “they,” “them,” etc., rather than with gendered pronouns. Ferris is a name playing off of the adjective, “ferrous,” meaning of or pertaining to iron. Since Rust often forms on iron, it seemed like a fun origin for our mascot’s name! You can find more images of Ferris on http://rustacean.net/.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 代码洁癖患者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装Rust
    • IDEA集成Rust
  • Hello World
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档