学习一门新的语言总是令人兴奋的,新的语法特性,设计理念…当然任何新的事物总是会留有旧事物的影子,这也能帮助我们更快地学习理解.作为2015年才正式发布的“年轻”语言,安全是它最大特性也是受欢迎原因之一.通过所有权系统进行内存管理,避免了其他高级语言因垃圾回收带来的消耗或者是C++那样手动分配管理易造成的内存泄漏.在这个专栏,我将从环境配置到基础语法再到进阶操作一步步记录学习历程,希望对正在学习Rust的伙伴有所帮助.
1. 环境安装配置
工欲善其事,必先利其器,学习任何一门技术最开始必须得配好环境.我的系统是ubuntu,来到Rust官网,打开安装页面Rust 中文安装页面
下载安装rustup
工具对Rust进行版本管理
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
下载后运行这个脚本进行安装,安装后应该会自动添加Rust系列工具进环境变量,如果没有的话可以source再试试.对于Windows系统可以去看其他安装方式.
验证一下是否安装成功:
命令行输入rustc --version
2. 编辑器配置
我的常用编辑器是VSCode,在VSCode上配置Rust环境也十分简单.在拓展中下载rust-analyzer
插件就可以在VSCode上开始Coding了,如果觉得VSCode没那么智能,也可以尝试JetBrains系列工具.例如在CLion上安装rust
插件同样可以实现与Cargo的完美集成,具体如下图所示.
3. Hello World
友人曰,会了“Hello World”等于会了一门语言.虽然半开玩笑,但是确实任何一门语言都会以它作为入门测试demo.上面提到了Cargo工具,Cargo是Rust的构建系统和包管理工具,我们一般可以用cargo new name
创建一个名为name的工程,里面包含了src以及.toml文件.
初始化生成新项目后,可以看到src下的main.rs中默认就是“Hello World”,然后命令行运行cargo run
就可以看到程序输出.
到这里你已经学废了Rust,本专栏结束(当然不是).稍微解释一下这段简短的代码,熟悉的主函数main,类似于Go的println
只不过后面多了一个!,代表着这个其实是Rust的宏而不是函数,具体细节留到进阶部分再展开,然后fn
就是类似于python的def
或者Go的func
代表着函数声明.
说些题外话,本人还是很喜欢这种“大道至简”的设计思想,像Rust,Python,Go这些输出“Hello World”简单一句的语言就很符合我的口味,而有些语言为了输出一句话还得引入库甚至创建一个类真的难以理解!!!
随着项目的复杂程度增加,用Cargo来构建项目成为了更优选择,下面看看Cargo的常用命令.
Cargo常用命令
cargo new
创建工程cargo build (--release)
构建工程cargo run (--release)
运行工程cargo fmt
格式化代码cargo check
快速检查代码能否编译cargo clippy
检查代码优化cargo bench
运行benchmark进行基准\性能测试