Rust言語の入口から穴まで - (4) Rust文法(中)


ここに画像の説明を挿入

0 インポート

ここではRustの構文を3部に分けて紹介し、2部ではCとの違いを中心にプログラミングにおける関数やループなどの構文を中心に紹介します。


1.機能

関数の基本的な形式は次のとおりです。

fn <函数名> ( <参数> ) <函数体>

//如下定义
fn main() {
    
    
    println!("Hello, world!");
    test_function();
}

fn test_function() {
    
    
    println!("I am tester!");
}

知らせ:

  • 1. Rust は関数をどこで定義するかは気にしません。関数をどこかに定義するだけです。

  • 2. Rust 関数名の命名スタイル: 小文字はアンダースコアで区切られます

1.1. 関数パラメータ

Rust で定義された関数にパラメータが必要な場合は、パラメータの名前と型を宣言する必要があります。


fn main() {
    
    
    println!("Hello, world!");
    test_function();
}

fn test_function(x:i32,y:i32) {
    
    
    println!("I am tester!");
    println!("x 的值为 : {}", x);
    println!("y 的值为 : {}", y);
}

1.2. 関数本体

Rust 関数本体は、式で終わる一連のステートメントで構成されます。

fn main() {
    
    
    let x = 0;

    let y = {
    
    
        let x = 1;
        x + 1
    };

    println!("x 的值为 : {}", x);
    println!("y 的值为 : {}", y);
}

上記の let y = {} の形式を関数本体式と呼びます
注: x + 1 の後にセミコロンはありません。セミコロンがない場合はステートメントになります。

1.3. 関数の戻り値

Rust関数が戻り値の型を宣言する方法: パラメータ宣言の後に -> を使用して関数の戻り値の型を宣言します(ではありません)。

fn add(a: i32, b: i32) -> i32 {
    
    
    return a + b;
}

ただし、Rust は戻り値の型の自動判定をサポートしていません。関数の戻り値の型が明確に宣言されていない場合、関数は「純粋なプロシージャ」とみなされ、戻り値は許可されません。Return の後に戻り値式を続けることはできません。

注: 1. 関数本体の式を関数本体と同じにすることはできません。また、return キーワードを使用することもできません。
2. 関数はネストをサポートします。


2. 条件文

fn main() {
    
    
    let number = 3;
    if number < 5 {
    
                        //可以不需要(number<5)的括号
        println!("条件为 true");
    } else {
    
    
        println!("条件为 false");
    }
}

ノート:

  • Rust では、単一のステートメントに {} を追加する必要がないというルールはなく、ブロックの代わりにステートメントを使用することは許可されていません。
  • Rustの条件式はbool型でなければなりません
fn main() {
    
    
    let a = 3;
    let number = if a > 0 {
    
     1 } else {
    
     -1 };   //作用类似于三元运算符
    println!("number 为 {}", number);
}

3. サイクル

3.1 、一方

fn main() {
    
    
    let mut number = 1;
    while number != 4 {
    
    
        println!("{}", number);
        number += 1;
    }
    println!("ok");
}

3.2 、用

or ループは最も一般的に使用されるループ構造であり、線形データ構造 (配列など) を走査するためによく使用されます。
Rustにはfor (int i =0;i<100;++i)のような形式はなく、この関数を置き換えるためにのみ使用できますが、主な使用法は次のとおりです

fn main() {
    
    
    let a = [100, 200, 300, 400, 500];
    for i in a.iter() {
    
    
        println!("值为 : {}", i);
    }
}

3.3、ループサイクル

Rust 言語にはネイティブの無限ループ構造があります。つまり、ループし、ブレークを使用してループを終了します。これは検索によく使用されます。

fn main() {
    
    
    let s = ['R', 'U', 'N', 'O', 'O', 'B'];
    let mut i = 0;
    loop {
    
    
        let ch = s[i];
        if ch == 'O' {
    
    
            break;
        }
        println!("\'{}\'", ch);
        i += 1;
    }
}

4. まとめ

Rus の構文は比較的簡潔でシンプルで、他の言語の優れた部分を吸収しています。

おすすめ

転載: blog.csdn.net/ljsant/article/details/131281428