欢迎你们和我一块儿入坑Rust,之后我就是坑主,我主要负责在前面挖坑,各位能够在上面看,有手痒的也能够和我一块儿挖。这个坑到底有多深?我也不知道,我是抱着有多深就挖多深的心态来的,下面我先跳了,各位请随意。 git
众所周知,在编程语言中,更易读的高级语言和控制底层资源的低级语言是一对矛盾体。Rust想要挑战这一现状,它尝试为开发者提供更好的体验的同时给予开发者控制底层细节的权限(好比内存使用)。github
低级语言在开发过程当中很容易出现各类细微的错误,它们难以发现可是可能影响巨大。其余大部分低级语言只能靠覆盖面更广的测试用例和经验丰富的开发者来解决这些问题。而Rust则依靠严格的编译器来杜绝这些问题。编程
Ps:之后会见识到Rust编译器的「厉害」bash
Rust的一些工具:服务器
若是你的操做系统是Linux或macOS,在终端执行命令curl
$ curl https://sh.rustup.rs -sSf | sh
安装过程当中的选项使用默认就好(一路回车),直到出现如下信息时,表示安装成功。编程语言
Rust is installed now. Great!
安装脚本会自动把Rust添加到环境变量PATH中,能够重启终端或者手动执行命令使添加生效。ide
$ source $HOME/.cargo/env
固然也能够添加到你的.bash_profile文件中:工具
$ export PATH="$HOME/.cargo/bin:$PATH"
最后,执行如下命令来检查Rust是否安装成功测试
$ rustc --version
另外,当你尝试编译Rust代码,但报了linker不可执行的错误时,你须要手动安装一个linker,C编译器一般会包含正确的linker。Rust的一些公共包也会依赖C语言代码和编译器。因此最好如今安装一个。
IDEA中集成Rust也很简单,只须要在Preference->Plugins中搜索Rust,安装Rust插件后重启IDEA就能够了。
又到了经典的Hello World时间,此次我不想直接一个简单的print就结束了,咱们一开始提到了Cargo是Rust依赖包的管理工具,因此我想体验一下Cargo的用法。
首先新建一个项目,能够直接用在IDEA中new project,也可使用Cargo命令
cargo new hello-world cd hello-world
新建好项目之后,它的结构长这样子
其中
接着咱们在Cargo.toml文件中添加咱们须要的依赖
[dependencies] ferris-says = "0.1"
这时IDEA会自动安装依赖包,若是没有安装,也能够手动执行命令来安装
cargo build
依赖安装好之后,就能够开始写代码了:
use ferris_says::say; use std::io::{stdout, BufWriter}; fn main() { let stdout = stdout(); let out = b"Hello World!"; let width = 12; let mut writer = BufWriter::new(stdout.lock()); say(out, width, &mut writer).unwrap(); }
执行结果
---------------- | Hello World! | ---------------- \ \ _~^~^~_ \) / o o \ (/ '_ - _' / '-----' \
没错,这是一个小螃蟹,至于它是谁,来看看官方解释
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/.
关于toml文件可能有些读者不太熟悉(其实我本身也不太熟),这里简单介绍一下吧,它的全称是「Tom's Obvious, Minimal Language」,是一种配置文件格式。它的语义是比较明显的,所以易于阅读。同时格式能够明确的映射到hash表,因此也能够被多种语言轻松解析。
GitHub地址是:https://github.com/toml-lang/toml
有兴趣的同窗能够作更深刻的了解。
至此,我确信本身已经跳进来了,有想跟进的朋友记得关注我哦。