🦀

Rust 備忘録

2024/01/20に公開

インストール

macOS でのインストール

Terminal
$ brew install rust # Intelの場合

$ arch -arm64 install rust # M1の場合

他にも rustup とかいうツールがある

バージョン確認

Terminal
$ rustc --version # or -V

Cargo作成

Terminal
$ cargo new Cargo名

VSCode拡張機能インストール

  • rust-analyzer
  • 自動補完とデバッグができる。cargo new でファイルを作成しないと動作しないので注意

rust-analyzer

文法

データ型

let 変数名: データ型 = 値;

整数型

fn main() {
  /* 符号なし */
  let num_u8: u8 = 8; // 8bit
  let num_u16: u16 = 16; // 16bit
  let num_u32: u32 = 32; // 32bit
  let num_u64: u64 = 64; // 64bit
  // アーキテクチャに任せる
  let num_usize_32: usize = 32; // 32ビットアーキテクチャの場合は32bit
  let num_usize_64: usize = 64; // 64ビットアーキテクチャの場合は64bit

  /* 符号あり */
  let num_i8: i8 = 8; // 8bit
  let num_i16: i16 = 16; // 16bit
  let num_i32: i32 = 32; // 32bit
  // アーキテクチャに任せる
  let num_isize_32: isize = 32; // 32ビットアーキテクチャの場合は32bit
  let num_isize_64: isize = 64; // 64ビットアーキテクチャの場合は64bit
}

浮動小数点数


fn main() {
  let float_f32: f32 = 32.32; // 単精度
  let float_f64: f64 = 64.64; // 倍精度
}

論理値型

fn main() {
  let boolean: bool = true;
}

文字型 ''

fn main() {
    let character: char = 'c'; // シングルクオート
}

Rustの文字列を理解する(Qiita)

タプル型 : let 変数名: (データ型, データ型...) = (値, 値...)

fn main() {
    let tupple: (i32, i32, i32) = (1, 2, 3);
}

配列型 : let 変数名: [データ型; 配列長] = [値, ...値]

fn main() {
    let array: [i32; 3] = [1, 2, 3];
}

可変

文字列 String

構造体 struct

列挙型 enum

ジェネリック型 <T>

ベクタ型 Vec

制御構文

繰り返し

loop
for
while

条件式

if
match

所有権と借用

所有権

借用

オブジェクト指向(?)

カプセル化

抽象化

トレイト

ボックス

Module

標準ライブラリ

Discussion