青少年JS開発者が学ぶRust-(3)
一般的なプログラミングコンセプト
へんすう
let
,const
キーワードを用いると,両キーワードは基本的に不変性を有する.値を変更するには、
mut
を貼り付けるか、shadowing
を使用します.let vs const
let
とconst
はいずれも不変性を有し、const
はmut
のキーワードを使用できません.宣言時にタイプを指定する必要があります.なお、
const
変数は大文字と下線の_
を用いることが国の規定である.ex)
const MAX_POINTS: u32 = 1000_000;
/// 밑줄은 숫자 가독성 높일 때도 사용할 수 있음 (오?)
mut vs Shadowing
まず影が何なのか見てみましょう
fn main() {
let x = 5;
let x = x + 1;
let x = x * 2;
println!("x is {}", x); // x is 12
}
x値を用いて,let
で新宣言のxに上書きした.では、
mut
と何が違うのでしょうか.まず
let
のキーワードで再宣言するのも違います型にこだわらない.
let spaces = " ";
let spaces = spaces.len(); // 3
let mut spaces = " ";
spaces = spaces.len(); // compile error!
データ型
スカラ
レスターは、次の4つのタイプのスカラータイプを定義します.
まず整数タイプを見てみましょう。
浄水タイプは、
u8
、u16
、u32
、u64
およびi8
、i16
、i32
、i64
である.貯蔵可能範囲:uは
0 ~ 2^(n)-1
、iは-2^(n-1) ~ 2^(n-1)-1
である.すなわち、
u8
は0〜255、u16
は0〜65535、u32
は0〜4294967295である.u64
は、広い範囲をカバーすることができる.rustは基本的に
u32
タイプをdefaultとして使用し、一般的に使用されます.次に小数点タイプ
f32
およびf64
、rustデフォルトf64
ボレインズのパス...文字列。
英語だけでなく、韓国語と日本語、さらには表情記号まで保存できる.
ふくごう
複合型は複数の値のタイプと見なすことができる.
基本的にrustがサポートする複合タイプはtupleと配列である.
基本的に他の言語と似ています.
長さが確定し、削除または追加する内容がほとんどない場合を除きます.
ベクトルを書くのは配列よりいいです.(これからお聞きしましょう)
fn main() {
let tup: (i32, f64, u8) = (500, 6.4, 1);
let (x, y, z) = tup;
println!("x : {}", tup.0); // 500
println!("y : {}", y); // 6.4
let a: [i32; 3] = [1,2,3]; // 타입 지정은 이렇게
let b = [3;5]; // [3,3,3,3,3]
}
配列から無効な要素にアクセスすると、コンパイルできますが、実行中にエラーが発生しました.
n.関数
関数名Snakeシェル(ex.process mint)
関数には必ず変数のタイプを明記します.
重要!構文vs式
構文には値が返されず、式には最終結果として戻り値があります.
関数の戻り値は名前を付けませんが、タイプを指定する必要があります.
fn main() {
let y = 6; // 구문
let x = (let y = 6); // let y = 6는 구문이라 return이 없어서 error
let x = 5;
// 코드 블록 또한 표현식이다. 즉 표현식과 리턴값이 있다는건데
// 바로 x + 1 와 같이 세미클론이 붙지 않은 저 친구가 표현식임
let y = {
let x = 3;
x + 1 // 세미클론 없는 것에 주목
}
}
もちろんreturnを加えると、他の言語と似ています.rustは、関数の最後の式値を直接関数の戻り値として使用できます.
つまり、次の2つの関数は正常に動作します.
fn five() -> u32 {
return 5;
}
fn six() -> u32 {
6
}
フローコントロール
ドアが
他の言語と同じ
式を使用してのみ、次の変数を初期化できます.
let x = if condition {
5
} else {
6
};
逆に、式が返すタイプは同じでなければなりません.複文
rustはこの3つのタイプにloop、while、forを提供します.
loopは基本的に無条件の無限ループである.
breakとともに返される式を書くことで中断できます.
fn main() {
let mut counter = 0;
let rsult = loop {
counter += 1;
if counter == 10 {
break counter * 2; // 20
}
};
}
for..in
構文も作成できますミニチュアをよく使うと言ってそれを使いましょう
Reference
この問題について(青少年JS開発者が学ぶRust-(3)), 我々は、より多くの情報をここで見つけました https://velog.io/@leedc0101/주니어-JS-개발자가-배우는-Rust-3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol