Closed1

Rust学習用

makkymakky

Rustの文法まとめ

(Tour of Rust 日本語版)[https://tourofrust.com/00_ja.html] をやってみて、Rustのコーディング規則や知らなかった知識などをまとめていきます。

変数

  • 宣言時はletを使用
  • 型推論可能
  • 型指定可能 (データ型一覧)
      // x の型を指定
      let x: f64 = 3.14159;
      println!("{}", x);
    
  • 変数名はスネークケース

変数の変更

  • 可変(再代入可能)な変数には mut を使用
fn main() {
    let mut x = 42;
    println!("{}", x);
    x = 13;
    println!("{}", x);
}

// => 42
// => 13

基本的な型

  • ブール型
    • true, false
  • 符号なし整数型
    • u8, u32, u64, u128
  • 符号あり整数型
    • i8, i32, i64, i128
  • ポインタサイズ整数型
    • usize, isize
    • メモリ内のインデックスとサイズを表す
  • 浮動小数点型
    • f32, f64

数値型は、数値の最後に型を付加することでも型指定可能

let a = 12u8;
let c = 4.3f32;

基本型の変換

  • 数値型の型変換では型を明示する
    • asを用いることで型変換可能
fn main() {
    let a = 13u8;
    let b = 7u32;
    let c = a as u32 + b;
    println!("{}", c);

    let t = true;
    println!("{}", t as u8);
}

// => 20
// => 1

定数

  • 宣言時はconstを使用
  • 明示的な型指定が必要
  • 定数名は大文字のスネークケース(SCREAMING_SNAKE_CASE)
const PI: f32 = 3.14159;

fn main() {
    println!(
        "ゼロからアップル {} を作るには、まず宇宙を創造する必要があります。",
        PI
    );
}

// => ゼロからアップル 3.14159 を作るには、まず宇宙を創造する必要があります。

配列

  • データ型は [T; N]
    • T : 要素の型
    • N : コンパイル時に決定される固定長(要素数)
  • array[x] で要素取得可能
    • x は usize型のインデックスである
fn main() {
    let nums: [i32; 3] = [1, 2, 3];
    println!("{:?}", nums);
    println!("{}", nums[1]);
}

// => [1, 2, 3]
// => 2
このスクラップは13日前にクローズされました