Rust
官网: https://www.rust-lang.org
版本:nightly、beta、stable 如何设计语言的讨论:https://github.com/rust-lang/rfcs
标准库文档:https://doc.rust-lang.org/std/
python
Rust安装
官方的安装文档:https://www.rust-lang.org/tools/install
通常有两种安装方式:手动下载安装与使用Rustup工具安装,推荐使用第二种方式安装。 Rustup下载地址:https://rustup.rs/ windows下能够双击运行,linux 下能够执行 curl https://sh.rustup.rs -sSf | sh
linux
u@DESKTOP-JSC6PHA:/mnt/d/code/rust_code$ curl https://sh.rustup.rs -sSf | sh info: downloading installer Welcome to Rust! This will download and install the official compiler for the Rust programming language, and its package manager, Cargo. It will add the cargo, rustc, rustup and other commands to Cargo's bin directory, located at: /home/u/.cargo/bin This path will then be added to your PATH environment variable by modifying the profile file located at: /home/u/.profile You can uninstall at any time with rustup self uninstall and these changes will be reverted. Current installation options: default host triple: x86_64-unknown-linux-gnu default toolchain: stable modify PATH variable: yes 1) Proceed with installation (default) # 继续安装 (默认) 2) Customize installation # 自定义安装 3) Cancel installation # 取消安装 >1 info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu' info: latest update on 2019-02-28, rust version 1.33.0 (2aa4c46cf 2019-02-28) info: downloading component 'rustc' 84.7 MiB / 84.7 MiB (100 %) 13.1 MiB/s ETA: 0 s info: downloading component 'rust-std' 56.8 MiB / 56.8 MiB (100 %) 13.5 MiB/s ETA: 0 s info: downloading component 'cargo' info: downloading component 'rust-docs' info: installing component 'rustc' 84.7 MiB / 84.7 MiB (100 %) 9.1 MiB/s ETA: 0 s info: installing component 'rust-std' 56.8 MiB / 56.8 MiB (100 %) 10.5 MiB/s ETA: 0 s info: installing component 'cargo' info: installing component 'rust-docs' 6.8 MiB / 8.5 MiB ( 80 %) 16.0 KiB/s ETA: 1.8390096028645833 min 50.3405761718 8.5 MiB / 8.5 MiB (100 %) 153.6 KiB/s ETA: 0 s info: default toolchain set to 'stable' stable installed - rustc 1.33.0 (2aa4c46cf 2019-02-28) Rust is installed now. Great! To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH environment variable. Next time you log in this will be done automatically. To configure your current shell run source $HOME/.cargo/env
安装完成后,在$HOME/.cargo/bin文件夹下能够看到以下的可执行程序(该目录默认会自动添加环境变量).git
u@DESKTOP-JSC6PHA:~/.cargo/bin$ ls -al total 126528 drwxrwxrwx 1 u u 512 Apr 11 22:41 . drwxrwxrwx 1 u u 512 Apr 11 22:43 .. -rwxr-xr-x 12 u u 10794568 Apr 11 22:41 cargo # 包管理器 -rwxr-xr-x 12 u u 10794568 Apr 11 22:41 cargo-clippy # -rwxr-xr-x 12 u u 10794568 Apr 11 22:41 cargo-fmt # 源代码格式化工具 -rwxr-xr-x 12 u u 10794568 Apr 11 22:41 cargo-miri -rwxr-xr-x 12 u u 10794568 Apr 11 22:41 clippy-driver -rwxr-xr-x 12 u u 10794568 Apr 11 22:41 rls # 为编辑器准备的代码提示工具 -rwxr-xr-x 12 u u 10794568 Apr 11 22:41 rust-gdb # 调试器 -rwxr-xr-x 12 u u 10794568 Apr 11 22:41 rust-lldb # 调试器 -rwxr-xr-x 12 u u 10794568 Apr 11 22:41 rustc # 编译器 -rwxr-xr-x 12 u u 10794568 Apr 11 22:41 rustdoc # 文档生成器 -rwxr-xr-x 12 u u 10794568 Apr 11 22:41 rustfmt # .rs文件格式化工具 -rwxr-xr-x 12 u u 10794568 Apr 11 22:41 rustup # 管理这套工具链下载更新的工具
检查是否安装成功,使用rustc -V
命令查看版本信息github
u@DESKTOP-JSC6PHA:~/.cargo$ rustc -V rustc 1.33.0 (2aa4c46cf 2019-02-28)
经常使用命令
rustup self update # 更新rustup rustup self uninstall # 卸载rust全部程序 rustup update # 更新工具链 rustup install nightly # 安装nightly版本的编译工具链 rustup default nightly # 设置默认工具链是nightly版本
Rust Language Server
RLS是官方提供的一个标准化的编辑器加强工具。 项目地址:https://github.com/rust-lang-nursery/rls
安装方法shell
rustup self update rustup update nightly # 安装RLS rustup component add rls --toolchain nightly rustup component add rust-analysis --toolchain nightly rustup component add rust-src --toolchain nightly
使用国内的镜像加速访问:
1. 加速rustup
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
2. 加速cargo (cargo是一个包管理工具,相似于python的pip)
在$HOME/.cargo目录下建立一个名为config的文本文件,并添加以下内容windows
[source.crates-io] registry="https://github.com/rust-lang/crates.io-index" replace-with = "ustc" [source.ustc] registry="git://mirrors.ustc.edu.cn/crates.io-index"
Hello World
1. 新建hello_world.rs文件,用文本编辑器打开并输入如下内容
// hello_world.rs fn main() { let s = "hello world! "; println!("{}",s); }
2. 编译及运行
使用rustc hello_world.rs
命令,命令执行成功后,会生成一个hello_world的可执行程序,而后执行这个程序,效果以下 bash
3. hello_world代码分析
- 通常Rust源代码的后缀使用.rs表示 (源码注意使用utf-8编码)
- 单行注释 //
- fn 是一个关键字,函数定义必须以 fn 开头。函数体用大括号来包含。
- 默认状况下,main函数是可执行程序的入口点,它是一个无参数、无返回值的函数
- 局部变量使用 let 开头,双引号包含起来的部分是字符串常量。
- 每条语句使用分号结尾
- 使用println!宏来进行简单的标准输出