Cargoとは
CargoはRustのビルドツール兼パッケージマネージャ. JavaScriptでいうnpm,Pythonでいうpip + venvみたいなもの. Rustを書くならCargoを使う.それだけ覚えておけばいい.
プロジェクトを作る
cargo new hello-rust
これでhello-rustというディレクトリができる.中身はこう:
hello-rust/
├── Cargo.toml
└── src/
└── main.rs
たった2ファイル.シンプル.
Cargo.toml
[package]
name = "hello-rust"
version = "0.1.0"
edition = "2021"
[dependencies]
[package]はプロジェクトの情報.[dependencies]は外部ライブラリ(クレート)を書く場所.今は空でいい.
語弊注意:
editionはRustの「年度版」みたいなもの.深く考えなくていい.2021のままでOK.
main.rs
fn main() {
println!("Hello, world!");
}
fn main() がプログラムのエントリーポイント.println! は文字列を出力するやつ.末尾の ! はマクロという仕組みだけど,今は「printlnには ! が必要」とだけ覚えておこう.
ビルドと実行
cd hello-rust
cargo run
出力:
Compiling hello-rust v0.1.0 (/path/to/hello-rust)
Finished dev [unoptimized + debuginfo] target(s) in 0.50s
Running `target/debug/hello-rust`
Hello, world!
cargo runはビルドと実行を一発でやってくれる.
他にも覚えておくと便利なコマンド:
| コマンド | やること |
|---|---|
cargo run |
ビルドして実行 |
cargo build |
ビルドだけ |
cargo check |
コンパイルできるかチェック(ビルドはしない.速い) |
普段の開発ではcargo runとcargo checkだけ使えば十分.
外部クレートを追加する
後の章で使うことはないけど,知識として.外部ライブラリを追加するには:
cargo add serde
するとCargo.tomlの[dependencies]に自動追加される:
[dependencies]
serde = "1.0"
crates.ioで使えるクレートを探せる.npmみたいなもの.
これでCargoの基本は完了.次はRustのコードを書いていこう.