1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Rust を書こう!(1)

Last updated at Posted at 2020-07-16

Rustを書こう!(1)

概要

変数宣言と制御構文を記載しています。
他の言語(CとかC++とかPython)をさわったことがある人向けの荒い内容です...
環境設定については過去記事を参照ください。

Rustでの変数宣言(可変性)

Rustでの変数宣言は以下のようにして行います。

let /*可変性*/ /*変数名*/ : /*型*/ = /*値*/;

可変性についてですが、/*可変性*/のところに何も記載しなければRustではすべての変数が宣言時にinmutableで宣言されます。(宣言時に代入をするとそのあとで書き換えができない)そのため以下のようなコードはコンパイル時にエラーを吐きます。

example1.rs
fn main() {
    let num = 1;
    num = 209; // これができない
}

変数の書き換えを行いたい場合は宣言時にmutという予約後を使用する必要があります。以下に例を示します。

example2.rs
fn main(){
  let mut num = 1;
  num = 100;
}

また、Rustでは何度も同じ変数名を持った変数を宣言することができ、example1.rsを書き換えた

example3.rs
fn main() {
    let num = 1;
    let num = 209;
}

は問題なくコンパイルできます。ただ、2回目の宣言時に1回目に宣言されたnumはメモリが解放されるのでアクセスができません。

Rustにおけるデータ型

Rustにおけるデータ型は以下のようになっています

|予約語|データ型|
|---|---|---|
|i8,i16,i32,i64,i128|符号付き整数(数字はBit数)|
|u8,u16,u32,u64,u128|符号なし整数(数字はBit数)|
|f32,f64|浮動小数点数|
|bool|bool値(true,false)|
|char|文字|
|str|文字列|
|isze,usize|配列などでのメモリアクセス用の型|

以下に例を示します。

example4.rs
fn main(){
    let num1 : u32 = 100;
    //ただの数字の場合勝手にi32になるので
    let num2 = 100;// この場合はi32です。
}

※Rustではコンパイラがデータ型を自動で推測してくれるので明記する必要はあまりないです。

制御構文

条件分岐

Rustでの条件分岐はif /*条件*/ {/*処理1*/} else {/*処理2*/}で行います。
以下に偶数と奇数の判定をするサンプルコードを記載します。

exapmle5.rs
fn main(){
    let num = 100;
    if num % 2 == 1{
        println!("odd");
    }else{
        println!("even");
    }
}

C言語のようにifの後に()を入れる必要はないです。

ループ

Rustの繰り返し構文は3つあります。loop{} while/*条件*/{/*処理*/} forの3つです。以下に0〜9までの数字を表示するコードを示します。

example6.rs
fn main() {

    for i in 0..10{
        print!("{}",i);
    }
    println!();// 改行
    
    let mut i = 0;
    while i < 10 {
        print!("{}",i);
        i += 1;
    }
    println!(); // 改行

    i = 0;
    loop {
        print!("{}",i);
        i += 1;
        if i == 10{
            break;
        }
    }
}

breakを使うことによってループから抜け出します。for文についてはiteratorと併用ができるのでiteratorの紹介をする際にもう一度詳しく紹介します。

次回はRustでのタプルや配列、標準出力、借用を紹介します。

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?