Rust の基礎固め / プリミティブ型(型を把握する)

本日の記事Rustのプリミティブ型についてまとめていきます。

Rust とは? 特徴や将来性

【環境構築】Rust M1 Mac

Primitive data type

整数型

整数を定義するデータ型で、符号あり/符号なし があり、それぞれデータのビット幅を組み合わせて表します。

  • 符号ありの場合はi
  • 符号なしの場合はu

から始まります。

// 符号あり
i8, i16, i32, i64, i128
// 符号なし
u8, u16, u32, u64, u128

さらにビット幅の異なるisize, usizeがあります。

let文で指定します。

Rust 変数とコーディングルールについて

浮動小数点数型

データ型としてf32, f64, があります。

デフォルトはf64

bool型

bool型はifの条件式など、パスの制御に使われます。

let x = true;
let y: bool = false;

配列型

配列の要素数は固定になります。

個数を定義したあとは増やすことも減らすこともできません。

// 配列型の書き方
[要素型; 要素数]
覚える配列に格納する値は、[]内にて,(カンマ)で区切ります。
定義した配列にアクセスする際は配列変数名を指定しますが、インデックスの一番最初は0になるので注意。
// 3番目の数値は4になる点に注意。
fn main(){
    let array: [i32; 5] = [1, 2, 3, 4, 5];
    println!("array = {:?}", array);
    println!("array[3] = {}", array[3]);
}

スライス型

スライスは配列同様、同じ型の値を複数取り扱いますが、配列との違いは実行時に要素数を変更できる点です。

fn main(){
    let array = [1, 2, 3, 4, 5];
    let slice: &[i32] = &array[1..3];
    println!("slice = {:?}", slice);
    println!("slice[0] = {}", slice[0]);
}

スライスから配列の値を変更する

fn main(){
fn main(){
    let mut array = [1, 2, 3, 4, 5];
    let slice = &mut array[1..3];
    slice[0] = 32; // ここでスライスを使って値を変更
    println!("slice = {:?}", slice);
    println!("array= {:?}", array);
}
// 実行結果
slice = [32, 3]
array= [1, 32, 3, 4, 5]

タプル型

タプルは異なる型の値を1つにまとめることができる機能です。

タプル自体の要素数、型は固定されており、あとから増減や型の変更はできません。

タプルへのアクセス方法は タプル変数.インデックス

fn main(){
    let t: (u8, i32, usize) = (1, -42, 1_1000);
    println!("i32 = {}", t.1);
}
// 実行結果
i32 = -42

文字列型

文字列はダブルクォーテーションで括ります。

fn main(){
    let oro = "pink";
    println!("{}", oro);
}
// 実行結果
pink

Kotaro
Kotaro
服部 洸太郎
音大を卒業後ピアニストとして活動。
自身のピアノトリオで活動後北欧スウェーデンにてシンガーアーティストLindha Kallerdahlと声帯とピアノによる即興哲学を研究。
その後ドイツへ渡りケルンにてAchim Tangと共に作品制作。
帰国後、金田式電流伝送DC録音の名手:五島昭彦氏のスタジオ「タイムマシンレコード」にアシスタントとして弟子入りし、録音エンジニアとしての活動開始。
独立後、音楽レーベル「芸術工房Pinocoa(現在はKotaro Studioに統合)」を立ち上げ、タンゴやクラシックなどのアコースティック音楽作品を多数プロデュース。
その後、秋山庄太郎氏後継の写真スタジオ「村上アーカイブス」でサウンドデザイナー兼音響担当として映像制作チームに参加。
村上宏治氏の元で本格的に写真、映像技術を学ぶ。
祖父母の在宅介護をきっかけにプログラムの世界に興味を持ち、介護で使えるプログラムをM5Stackを使って自作。
株式会社 ジオセンスの代表取締役社長:小林一英氏よりプログラムを学ぶ。
現在はKotaro Studioにてアルゼンチンタンゴをはじめとした民族音楽に関する文化の研究、ピアノ音響、さらに432hz周波数を使った癒しのサウンドを研究中。
スタジオでは「誰かのためにただここに在る」をコンセプトに、誰がいつ訪れても安心感が得られる場所、サイトを模索中。