すごくメモ帳

すごくほぼメモ帳ぐらいなブログ

Rust 5日目 (プリミティブ型)

最も基本的な型のこと。

ブーリアン

ブーリアンboolにはtruefalseがある。

fn main() {
    let x: bool = true;
    if x {
        println!("Hello!");
    }
}
// Hello!

char型

ユニコードスカラー値を表現する。'で囲む。

fn main() {
    let c: char = 'あ';
    println!("{}", c);
}
// あ

数値型

数値を表す。

意味
i8 8ビットの符号付き整数型
i16 16ビットの符号付き整数型
i32 32ビットの符号付き整数型
i64 64ビットの符号付き整数型
u8 8ビットの符号なし整数型
u16 16ビットの符号なし整数型
u32 32ビットの符号なし整数型
u64 64ビットの符号なし整数型
isize ポインタサイズを表す符号付き整数型
usize ポインタサイズを表す符号なし整数型
f32 32ビット浮動小数点数
f64 64ビット浮動小数点数

配列

固定長で同じ型の要素を持つ。

fn main() {
    let a = [1, 2, 3];
    let b: [i32; 3] = [1, 2, 3];
    let mut c = [1, 2, 3];
    c[0] = 0;
    a[0];
    b[0];
}

スライス

fn main() {
    let a = [1, 2, 3, 4, 5];
    &a[..]; // すべての要素をスライス
    &a[1..4]; // [2, 3, 4];
}

str型

文字列を表す。

タプル

タプルは異なる型を持つ。

fn main() {
    let a = (1, 2);
    println!("{} {}", a.0, a.1);
}
// 1 2

タプルのインデックス

タプルのインデックスはタプル.インデックスの番号とする。

パターンによる変数宣言

変数の宣言を一度にできる。

fn main() {
    let (a, b) = (1, 2);
    println!("{} {}", a, b);
}
fn main() {
    let (mut a, mut b) = (1, 2);
    a = 2;
    b = 3;
    println!("{} {}", a, b);
}

関数

関数にも型がある。

fn hoge() -> i32{
    1
}

fn main() {
    let h: fn() -> i32 = hoge;
    println!("{}", h());
}