成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Rust 基礎系列 #6: 條件語句

開發
在這篇文章中,我們將學習使用條件語句來管理 Rust 程序的控制流。

什么是條件語句?

在編寫代碼的時候,最常見的任務之一就是檢查某些條件是否為 true 或 false。“如果溫度高于 35°C,打開空調。”

通過使用 if 和 else 這樣的關鍵字(有時候結合使用),程序員可以根據條件(例如提供的參數數量、從命令行傳遞的選項、文件名、錯誤發生等)改變程序的行為。

所以,對一個程序員來說,了解任何語言的控制流都是至關重要的,更不用說 Rust 了。

條件運算符

下表列出了所有常用的單個條件運算符:

運算符

示例

解釋

>

a > b

a 大于 b

<

a < b

a 小于 b

==

a == b

a 等于 b

!=

a != b

a 不等于 b

>=

a >= b

a 大于 或 等于 b

<=

a <= b

a 小于 或 等于 b

以及下表是邏輯運算符,它們用于一個或多個條件之間:

運算符

示例

解釋

|| (邏輯或)

條件1 || 條件2

條件1 或 條件2 中至少有一個為 true

&& (邏輯與)

條件1 && 條件2

所有 條件都為 true

! (邏輯非)

!條件

條件 的布爾值的相反值

?? 與數學相似,你可以使用圓括號來指定操作的優先級。

使用 if else

要控制 Rust 代碼的基本流程,使用兩個關鍵字:if 和 else。這可以根據提供的條件的狀態創建兩個“執行路徑”。

一個簡單的帶有替代執行路徑的 if 塊的語法如下:

if 條件 {
    <語句>;
} else {
    <語句>;
}

?? 當只有一個條件時,將其括在圓括號中并不是強制性的。根據語法,使用圓括號是可選的。你仍然應該使用它們來指定優先級并優化可讀性。

來看看一個例子。

fn main() {
    let a = 36;
    let b = 25;

    if a > b {
        println!("a 大于 b");
    } else {
        println!("b 大于 a");
    }
}

這里,我聲明了兩個整數變量 a 和 b,它們的值分別為 '36' 和 '25'。在第 5 行,我檢查變量 a 中存儲的值是否大于變量 b 中存儲的值。如果條件計算結果為 true,則會執行第 6 行的代碼。如果條件計算結果為 false,由于我們有一個 else 塊(可選),第 8 行的代碼將被執行。

來看看程序的輸出。

a 大于 b

完美!

來修改一下變量 a 的值,使其小于變量 b 的值,看看會發生什么。我將把 a 的值改為 '10'。修改后的輸出如下:

b 大于 a

但是,如果我將相同的值存儲在變量 a 和 b 中呢?為了看到這一點,我將兩個變量的值都設置為 '40'。修改后的輸出如下:

b 大于 a

嗯?從邏輯上講,這沒有任何意義... :frowning:

但是這可以改進!我們繼續。

使用 else if 條件

與其他任何編程語言一樣,你可以使用 else if 塊來提供多于兩個的執行路徑。語法如下:

if 條件 {
    <語句>;
} else if 條件 {
    <語句>;
} else {
    <語句>;
}

現在,通過使用 else if 塊,我可以改進程序的邏輯。下面是修改后的程序。

fn main() {
    let a = 40;
    let b = 40;

    if a == b {
        println!("a 與 b 是相等的");
    } else if a > b {
        println!("a 大于 b");
    } else {
        println!("b 大于 a");
    }
}

現在,我的程序的邏輯是正確的。它已經處理了所有的邊緣情況(我能想到的)。第 5 行處理了 a 等于 b 的情況。第 7 行處理了 a 可能大于 b 的情況。而 a 小于 b 的情況則由第 9 行的 else 塊隱式處理。

現在,當我運行這段代碼時,我得到了以下輸出:

a 與 b 是相等的

現在這就完美了!

示例:找到最大值

我知道使用 if 和 else 很容易,但是讓我們再看一個程序。這次,我們來比較三個數字。我還將在這個實例中使用邏輯運算符!

fn main() {
    let a = 73;
    let b = 56;
    let c = 15;

    if (a != b) && (a != c) && (b != c) {
        if (a > b) && (a > c) {
            println!("a 是最大的");
        } else if (b > a) && (b > c) {
            println!("b 是最大的");
        } else {
            println!("c 是最大的");
        }
    }
}

這個程序第一眼看上去可能很復雜,但是不要害怕,我會解釋的!

最開始,我聲明了三個變量 ab 和 c,并賦予了我能想到的隨機值。然后,在第 6 行,我檢查了沒有變量的值與其他變量相同的條件。首先,我檢查 a 和 b 的值,然后是 a 和 c,最后是 b 和 c。這樣我就可以確定沒有變量中存儲了重復的值。

然后,在第 7 行,我檢查了變量 a 中存儲的值是否是最大的。如果這個條件計算結果為 true,則會執行第 8 行的代碼。否則,將檢查第 9 行的執行路徑。

在第 9 行,我檢查了變量 b 中存儲的值是否是最大的。如果這個條件計算結果為 true,則會執行第 10 行的代碼。如果這個條件也是 false,那么只有一種可能。3 個變量中的最大值既不是 a 也不是 b

所以,自然地,在 else 塊中,我打印出變量 c 擁有最大值。

來看看程序的輸出:

a 是最大的

這是預期的結果。嘗試修改分配給每個變量的值,并自己測試一下! :smiley:

總結

你學習到了如何使用 if 和 else 語句。在你繼續使用大量 if else if 語句制作自己的 AI 之前(哈哈),讓我們在本系列的下一篇文章中學習 Rust 中的循環。

持續關注。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2023-05-29 16:25:59

Rust函數

2023-06-15 17:00:11

Rust循環

2023-05-14 18:56:50

Rust數據類型

2023-06-23 14:15:09

Rust編程

2023-05-23 18:11:12

Rust數組元組

2021-07-21 10:18:21

Python條件語句Python基礎

2023-05-04 07:33:39

Rust變量常量

2023-04-10 18:03:18

Rust編程語言

2024-01-05 17:41:36

Rust編程循環

2020-11-09 10:19:05

Java

2023-08-11 15:46:40

BashIf Else 語句

2021-08-14 10:01:43

Python條件語句Python基礎

2021-07-07 21:40:46

Rust函數勸退

2022-12-09 07:58:52

Bash條件語句

2010-09-17 14:48:28

SQL條件語句

2024-03-19 08:54:20

Rust語言內存管理應用程序開發

2023-07-30 09:50:51

Bash字符串

2010-11-18 12:58:25

Oracle條件分支語

2010-09-26 10:08:43

sql條件語句

2021-04-28 18:16:24

Rust數據類型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲成人免费 | 亚洲激精日韩激精欧美精品 | 成年网站在线观看 | 国产精品久久久久久久久久免费看 | 精品在线免费观看视频 | 欧美另类视频在线 | 91在线视频免费观看 | 欧美成人一区二区三区 | 亚洲狠狠 | 午夜国产 | 日韩精品在线播放 | 久久躁日日躁aaaaxxxx | 日本在线你懂的 | 亚洲日韩第一页 | 国产三级电影网站 | 色噜噜亚洲男人的天堂 | 天天操天天射天天 | 国产四虎| 国产精品美女一区二区三区 | 欧美黑人一区 | 亚洲福利一区 | 亚洲444kkkk在线观看最新 | 91精品国产91久久久久游泳池 | 久久精品一区二区三区四区 | 日韩欧美国产精品一区 | 成人午夜视频在线观看 | 精品欧美一区二区精品久久久 | 天天干天天谢 | 成人小视频在线观看 | 久久av网| 中文字幕一区二区三区乱码在线 | 国产高清一区二区 | 日韩欧美专区 | av免费网站在线观看 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 三级av免费 | 青青久久久 | 国产精品久久久久久久久久免费 | av黄色在线 | 亚洲一区二区三区免费在线观看 | 91欧美激情一区二区三区成人 |