Rust ツアー
レッスン
こんにちは、
第 1 章 - 基礎
Rust Playground
変数
変数の変更
基本的な型
基本型の変換
定数
配列
関数
複数の戻り値
空の戻り値
第 1 章 - まとめ
第 2 章 - 基本制御フロー
if/else if/else
loop
while
for
match
loop から値を返す
ブロック式から値を返す
第 2 章 - まとめ
第 3 章 - 基本的なデータ構造体
構造体
メソッドの定義
メモリ
メモリの中でデータを作成する
タプルライクな構造体
ユニットライクな構造体
列挙型
データを持つ列挙型
第 3 章 - まとめ
第 4 章 - ジェネリック型
ジェネリック型とは?
値がないことの表現
Option
Result
失敗するかもしれない main
簡潔なエラー処理
やっつけな Option/Result 処理
ベクタ型
第 4 章 - まとめ
第 5 章 - データの所有権と借用
所有権
スコープベースのリソース管理
ドロップは階層的
所有権の移動
所有権を返す
参照による所有権の借用
参照による所有権の可変な借用
参照外し
借用したデータの受け渡し
参照の参照
明示的なライフタイム
複数のライフタイム
スタティックライフタイム
データ型のライフタイム
第 5 章 - まとめ
第 6 章 - テキスト
文字列リテラル
utf-8とは
エスケープ文字
複数行の文字列リテラル
生文字列リテラル
ファイルから文字列リテラルを読み込む
文字列スライス
Chars
String
関数パラメータとしてのテキスト
文字列の構築
文字列のフォーマット
文字列変換
第 6 章 - まとめ
第 7 章 - オブジェクト指向プログラミング
オブジェクト指向プログラミングとは?
Rust はオブジェクト指向プログラミング言語ではない
メソッドによるカプセル化
選択的な公開による抽象化
トレイトを用いたポリモーフィズム
トレイトに実装されたメソッド
トレイトの継承
動的ディスパッチと静的ディスパッチ
トレイトオブジェクト
サイズの合わないデータの処理
ジェネリック関数
ジェネリクス関数の省略記法
ボックス
ジェネリクス構造体のおさらい
第 7 章 - まとめ
第 8 章 - スマートポインタ
参照の再考
生ポインタ
参照外し
`*` 演算子
`.` 演算子
スマートポインタ
unsafe なスマートコード
お馴染みの仲間たち
ヒープに確保されたメモリ
失敗しうる main の再考
参照カウント
アクセスの共有
スレッド間でのアクセスの共有
スマートポインタの組み合わせ
第 8 章 - まとめ
第 9 章 - プロジェクトの構成と構造
モジュール
プログラムを書く
ライブラリを書く
他のモジュールやクレートの参照
複数の項目の参照
モジュールの作成
モジュールの階層
インラインモジュール
モジュール内部の参照
エクスポート
構造体の可視性
プレリュード
独自のプレリュード
第 9 章 - まとめ
第 10 章 - 終わりに