Rust語言開發基礎(六)基礎語法

1、變量的定義和使用web

其它常見的編程語言對變量的定義一般是經過聲明類型和使用關鍵new來建立一個變量,但Rust不是,Rust使用關鍵字let。express

1. 變量綁定經過let實現編程

fn main() {編程語言

    let x = 5;函數

}oop


2. 變量能夠是一種模式,自動匹配。spa

let (x, y) = (1, 2);code


3. 支持聲明類型orm

let x: i32 = 5;it


4. 變量綁定要求在能夠使用它以前必須初始 化。

 let x: i32;  //錯誤,若是沒有使用到這個變量,編譯的時候是個警告,若是在某個地方使用到就是錯誤了。

 let x: i32 = 10;  //正確,初始化是一個好的習慣


5. 默認變量的值不可改變,若是要改變則使用關鍵字mut

let mut x = 5; // mut x: i32

x = 10;


6. let開始的是一個語句,而不是表達式

let mut y = 5;

let x = (y = 6); // x has the value `()`, not `6`


2、函數

1.函數即方法,使用關鍵字fn聲明

fn main() {

}


2. 你必須爲函數參數聲明類型

fn print_number(x: i32) {

    println!("x is: {}", x);

}

fn format(name: &str){

    println!("match? {}", name);

}


3. 函數返回值及其類型

fn add_one(x: i32) -> i32 {

    x + 1

}

注意裏面行尾沒有分號;若是加上反而報錯


4. 使用關鍵字return的函數

fn foo(x: i32) -> i32 {

    return x + 1;

}

這個最多見的返回值方式竟然在Rust裏不被鼓勵,怎麼回事



5. 發散函數

fn diverges() -> ! {

    panic!("This function never returns!");

}

以它擁有一個類型 ! ,它表明「發散」。一個發散函數能夠是任 何類型: 

let x: i32 = diverges();

let x: String = diverges();



3、條件語句

條件控制語句中的條件是不須要用小括號()包裹起來

例如  :

if universe::recalibrate() {

      return;

}


let x = 5;

if x == 5 {

    println!("x is five!");

} else if x == 6 {

    println!("x is six!");

} else {

    println!("x is not five or six :(");

}


while count < 10 {

    println!("count is {}", count);

    count += 1;

}


4、循環與迭代

1. loop

let mut x = 10;

loop {

    x += 1;

    println!("{}", x);

}


2. while

let mut x = 5; // mut x: u32

let mut done = false; // mut done: bool

while !done {

    x += x - 3;

    println!("{}", x);

    if x % 5 == 0 {

        done = true;

    }

}

4. for

C系的for循環:

for (x = 0; x < 10; x++) {

    printf( "%d\n", x );

}


Rust的for循環

使用下面這樣的迭表明達式

for var in expression {

    code

}


for x in 0..10 {

    println!("{}", x); // x: i32

}


記錄循環次數

for (i,j) in (5..10).enumerate() {

    println!("i = {} and j = {}", i, j);

}

結果:

i = 0 and j = 5

i = 1 and j = 6

i = 2 and j = 7

i = 3 and j = 8

i = 4 and j = 9

即符合以下表達式:

for (linenumber, line) in lines.enumerate() {

    println!("{}: {}", linenumber, line);

}


5. 改變循環狀態的關鍵字

即break 和 continue

例如:

let mut x = 5;

loop {

    x += x - 3;

    println!("{}", x);

    if x % 5 == 0 { break; }


其實就基礎語法方面的認識,大多數語言都是通用的,可能會稍微增長一下各自語言的特性。

相關文章
相關標籤/搜索