1. はじめに
  2. Hello World
    ❱
    1. コメント
    2. フォーマットして出力
      ❱
      1. Debug
      2. Display
        ❱
        1. テストケース:リスト
      3. フォーマット
  3. 基本データ型
    ❱
    1. リテラルと演算子
    2. タプル
    3. 配列とスライス
  4. カスタム型
    ❱
    1. 構造体
    2. 列挙型
      ❱
      1. use
      2. C言語ライクな列挙型
      3. テストケース:連結リスト
    3. 定数
  5. 変数束縛
    ❱
    1. ミュータビリティ
    2. スコープとシャドーイング
    3. 前方宣言
    4. 値の凍結
  6. 型
    ❱
    1. 型キャスト
    2. リテラル
    3. 型推論
    4. エイリアス
  7. 型変換
    ❱
    1. FromとInto
    2. TryFromとTryInto
    3. Stringとの型変換
  8. 式
  9. 制御フロー
    ❱
    1. if/else
    2. loop
      ❱
      1. ネストとラベル
      2. loopが返す値
    3. while
    4. for と range
    5. match
      ❱
      1. デストラクト
        ❱
        1. タプル
        2. 配列とスライス
        3. 列挙型
        4. ポインタとref
        5. 構造体
      2. ガード
      3. 束縛
    6. if let
    7. let-else
    8. while let
  10. 関数
    ❱
    1. メソッド
    2. クロージャ
      ❱
      1. 要素の捕捉
      2. 捕捉時の型推論
      3. 匿名型
      4. 関数を受け取る関数
      5. クロージャを返す関数
      6. stdにおける使用例
        ❱
        1. Iterator::any
        2. イテレータによる検索
    3. 高階関数
    4. 発散する関数
  11. モジュール
    ❱
    1. 可視性
    2. 構造体の場合
    3. use宣言
    4. superとself
    5. ファイルの階層構造
  12. クレート
    ❱
    1. ライブラリの作成
    2. ライブラリの利用
  13. Cargo
    ❱
    1. 依存関係
    2. 規約
    3. テスト
    4. ビルドスクリプト
  14. アトリビュート
    ❱
    1. dead_code
    2. クレート
    3. cfg
      ❱
      1. 条件の追加
  15. ジェネリクス
    ❱
    1. 関数
    2. 実装
    3. トレイト
    4. 境界
      ❱
      1. テストケース:空トレイト
    5. 複数の境界
    6. Where句
    7. ニュータイプイディオム
    8. 関連要素
      ❱
      1. 関連要素が必要になる状況
      2. 関連型
    9. 幽霊型パラメータ
      ❱
      1. テストケース:単位を扱う
  16. スコープの規則
    ❱
    1. RAII
    2. 所有権とムーブ
      ❱
      1. ミュータビリティ
      2. 部分的ムーブ
    3. 借用
      ❱
      1. ミュータビリティ
      2. エイリアス
      3. refパターン
    4. ライフタイム
      ❱
      1. 明示的アノテーション
      2. 関数
      3. メソッド
      4. 構造体
      5. トレイト
      6. 境界
      7. 強制
      8. スタティックライフタイム
      9. 省略
  17. トレイト
    ❱
    1. 導出(Derive)
    2. dynを利用してトレイトを返す
    3. 演算子のオーバーロード
    4. ドロップ
    5. イテレータ
    6. impl Trait
    7. クローン
    8. スーパートレイト
    9. トレイトの曖昧性解決
  18. macro_rules!
    ❱
    1. 構文
      ❱
      1. 識別子
      2. オーバーロード
      3. 繰り返し
    2. DRY (Don't Repeat Yourself)
    3. Domain Specific Languages (ドメイン特化言語、DSLs)
    4. 可変個引数
  19. エラーハンドリング
    ❱
    1. panic
    2. abortとunwind
    3. Optionとunwrap
      ❱
      1. ?によるOptionのアンパック
      2. コンビネータ:map
      3. コンビネータ:and_then
      4. Defaults: or, or_else, get_or_insert, get_or_insert_with
    4. Result
      ❱
      1. Resultのmap
      2. Resultに対するエイリアス
      3. 早期リターン
      4. ?の導入
    5. 複数のエラー型
      ❱
      1. OptionからResultを取り出す
      2. エラー型を定義する
      3. エラーをBoxする
      4. ?の他の活用法
      5. エラーをラップする
    6. Resultをイテレートする
  20. 標準ライブラリの型
    ❱
    1. Box、スタックとヒープ
    2. ベクタ型
    3. 文字列
    4. Option
    5. Result
      ❱
      1. ?
    6. panic!
    7. ハッシュマップ
      ❱
      1. キー型の変種
      2. ハッシュ集合
    8. Rc
    9. Arc
  21. 標準ライブラリのその他
    ❱
    1. スレッド
      ❱
      1. テストケース:map-reduce
    2. チャネル
    3. ファイルパス
    4. ファイル I/O
      ❱
      1. open
      2. create
      3. read lines
    5. 子プロセス
      ❱
      1. パイプ
      2. ドロップの延期
    6. ファイルシステムとのやり取り
    7. 引数処理
      ❱
      1. 引数のパース
    8. 他言語関数インターフェイス
  22. テスト
    ❱
    1. ユニットテスト
    2. ドキュメンテーションテスト
    3. 統合テスト
    4. 開発中の依存関係
  23. 安全でない操作
    ❱
    1. インラインアセンブリ
  24. 互換性
    ❱
    1. 生識別子
  25. 周辺情報
    ❱
    1. ドキュメンテーション
    2. プレイグラウンド