Rust を書こう!(1)
Rustを書こう!(1)
概要
変数宣言と制御構文を記載しています。
他の言語(CとかC++とかPython)をさわったことがある人向けの荒い内容です...
環境設定については過去記事を参照ください。
Rustでの変数宣言(可変性)
Rustでの変数宣言は以下のようにして行います。
let /*可変性*/ /*変数名*/ : /*型*/ = /*値*/;
可変性についてですが、/*可変性*/のところに何も記載しなければRustではすべての変数が宣言時にinmutableで宣言されます。(宣言時に代入をするとそのあとで書き換えができない)そのため以下のようなコードはコンパイル時にエラーを吐きます。
fn main() {
let num = 1;
num = 209; // これができない
}
変数の書き換えを行いたい場合は宣言時にmut
という予約後を使用する必要があります。以下に例を示します。
fn main(){
let mut num = 1;
num = 100;
}
また、Rustでは何度も同じ変数名を持った変数を宣言することができ、example1.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 | 配列などでのメモリアクセス用の型 |
以下に例を示します。
fn main(){
let num1 : u32 = 100;
//ただの数字の場合勝手にi32になるので
let num2 = 100;// この場合はi32です。
}
※Rustではコンパイラがデータ型を自動で推測してくれるので明記する必要はあまりないです。
制御構文
条件分岐
Rustでの条件分岐はif /*条件*/ {/*処理1*/} else {/*処理2*/}
で行います。
以下に偶数と奇数の判定をするサンプルコードを記載します。
fn main(){
let num = 100;
if num % 2 == 1{
println!("odd");
}else{
println!("even");
}
}
C言語のようにif
の後に()
を入れる必要はないです。
ループ
Rustの繰り返し構文は3つあります。loop{}
while/*条件*/{/*処理*/}
for
の3つです。以下に0〜9までの数字を表示するコードを示します。
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でのタプルや配列、標準出力、借用を紹介します。
Author And Source
この問題について(Rust を書こう!(1)), 我々は、より多くの情報をここで見つけました https://qiita.com/geek_777/items/adf02dd20d313b95b52c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .