Rust语言学习笔记
Installation 安装
习惯的
$ brew search rust
==> Searching local taps...
rust rustc-completion rustup-init uncrustify
然后顺手就可以:
$ brew install rust
这样安装完之后是可以使用rustc等的.
然而缺少rustup工具, 也因为brew同一管理路径的原因, 缺失~/.cargo
目录, (不知道为啥没有至少一个软连接?).
所以出于学习阶段(在我还没弄清谁更好时), 先使用官方的方法(况且cargo是Rust的package manager):
如果brew安装过的, 别忘了先brew uninstall rust
卸载掉.
$ 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:
/Users/blodely/.cargo/bin
This path will then be added to your PATH environment variable by modifying the
profile files located at:
/Users/blodely/.profile
/Users/blodely/.zprofile
You can uninstall at any time with rustup self uninstall and these changes will
be reverted.
Current installation options:
default host triple: x86_64-apple-darwin
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-apple-darwin'
info: latest update on 2017-08-31, rust version 1.20.0 (f3d6973f4 2017-08-27)
info: downloading component 'rustc'
35.1 MiB / 35.1 MiB (100 %) 121.6 KiB/s ETA: 0 s
info: downloading component 'rust-std'
49.0 MiB / 49.0 MiB (100 %) 128.0 KiB/s ETA: 0 s
info: downloading component 'cargo'
2.6 MiB / 2.6 MiB (100 %) 124.8 KiB/s ETA: 0 s
info: downloading component 'rust-docs'
3.6 MiB / 3.6 MiB (100 %) 115.2 KiB/s ETA: 0 s
info: installing component 'rustc'
info: installing component 'rust-std'
info: installing component 'cargo'
info: installing component 'rust-docs'
info: default toolchain set to 'stable'
stable installed - rustc 1.20.0 (f3d6973f4 2017-08-27)
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
这里当然猴急的运行source $HOME/.cargo/env
,
再就测试一下:
$ rustc --version
rustc 1.20.0 (f3d6973f4 2017-08-27)
一切正常.
Hello, world
$ vim main.rs
然后录入:
fn main() {
println!("Hello, world!~");
}
编译:
$ rustc main.rs
运行二进制文件:
$ ./main
Hello, world!~
Cargo
Cargo命令给出的解释是: Rust's package manager.
好吧, 使用Cargo来创建一个工程看看.
$ cargo new hello_cargo --bin
Created binary (application) `hello_cargo` project
这样就创建了一个binary即应用程序(而不是一个库)的工程了.
cd
进去发现, 还给默认初始化成一个git仓库了.
$ git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
Cargo.toml
src/
文件结构已归好, 还增加git ignore
文件.
查阅文档, --vcs
参数可控制此项.
然后这个Cargo.toml
文件类型让我为之一震...
toml = Tom's Obvious, Minimal Language GithubRepo
$ cat Cargo.toml
[package] # 段落标题; 配置一个包
name = "hello_cargo"
version = "0.1.0"
authors = ["Luo Yu <indie.luo@gmail.com>"]
[dependencies] # 项目依赖的crates列表(crate: Rust代码包)
构建与运行:
$ cargo build # cargo run
Compiling hello_cargo v0.1.0 (file:///Users/blodely/Desktop/hello_cargo)
Finished dev [unoptimized + debuginfo] target(s) in 3.27 secs
$ ./target/debug/hello_cargo
Hello, world!
Author
Luo Yu
indie.luo@gmail.com
Tuesday, September 12, 2017