找到 35 篇文章 關於 Rust 程式設計

Rust 程式設計中的結構體可見性

Mukul Latiyan
更新於 2021年4月3日 13:31:24

1K+ 次檢視

Rust 中的結構體包含額外的可見性級別。開發人員可以根據自己的需要修改這些級別。在正常情況下,Rust 中結構體的可見性是私有的,可以透過使用 pub 修飾符將其設為公有。需要注意的是,只有當我們嘗試從定義它的模組外部訪問結構體欄位時,這種可見性才有意義。當我們隱藏結構體的欄位時,我們只是試圖封裝資料。示例請考慮以下示例:mod my {    // A ... 閱讀更多

Rust 程式設計中的切片

Mukul Latiyan
更新於 2021年4月3日 14:43:14

189 次檢視

Rust 中的切片是相同資料型別 T 的元素集合,但與陣列不同,它不需要在編譯時知道其長度。在 Rust 中,切片是一個雙字物件,其中第一個字實際上是指向資料的指標,第二個字只是切片的長度。切片比陣列更安全,並且允許高效地訪問陣列而不進行復制。切片是從陣列、字串建立的。它們可以是可變的,也可以是不變的。切片通常指的是陣列或... 閱讀更多

Rust 程式設計中的 Result 型別

Mukul Latiyan
更新於 2021年4月3日 13:23:47

140 次檢視

Rust 中出現兩種型別的錯誤,一種是可恢復錯誤,另一種是不可恢復錯誤。我們藉助 panic! 宏處理不可恢復錯誤,而 Result 型別和其他方法則幫助處理可恢復錯誤。Result 型別是 Option 型別的一個更好的版本,它只描述可能的錯誤,而不是可能的缺失。簽名Result 型別的簽名是 Result < T, E>,它只有兩種結果。它們是: Ok(T):找到一個元素 T。Err(E):找到一個帶有元素 E 的錯誤。Rust 還提供了一些不同的方法,我們可以將它們與... 閱讀更多

Rust 程式設計中的程式引數

Mukul Latiyan
更新於 2021年4月3日 13:21:14

65 次檢視

處理執行時傳遞的引數是任何程式語言的關鍵特性之一。在 Rust 中,我們藉助 std::env::args 訪問這些引數,它返回一個迭代器,為每個傳遞的引數提供一個字串。示例請考慮以下示例:use std::env; fn main() {    let args: Vec = env::args().collect();    // 第一個引數是用於呼叫程式的路徑。    println!("我的當前目錄路徑是 {}。", args[0]);    println!("我獲得了 {:?} 個引數:{:?}。", args.len() - 1, &args[1..]); }我們可以這樣傳遞引數:./args 1 2 3 4 ... 閱讀更多

Rust 程式設計中的 Path 結構體

Mukul Latiyan
更新於 2021年4月3日 14:40:28

368 次檢視

Rust 中的 Path 結構體用於表示底層檔案系統中的檔案路徑。還需要注意的是,Rust 中的 Path 不是表示為 UTF-8 字串;而是儲存為位元組向量 (Vec)。示例請考慮以下示例: 即時演示use std::path::Path; fn main() {    // 從 `&'static str` 建立一個 `Path`    let path = Path::new(".");    // `display` 方法返回一個 `Show`able 結構    let display = path.display();    // 檢查路徑是否存在    if path.exists() {       println!("{} 存在", display);    } ... 閱讀更多

Rust 程式設計中的 Panic! 宏

Mukul Latiyan
更新於 2021年4月3日 14:38:40

222 次檢視

Rust 中的錯誤處理是藉助 panic! 宏完成的。Rust 中還有其他處理錯誤的方法,但 panic 是獨一無二的,因為它用於處理不可恢復的錯誤。當我們執行 panic! 宏時,整個程式從堆疊中展開,因此它會退出。由於程式退出方式,我們通常使用 panic! 處理不可恢復的錯誤。語法呼叫 panic 的語法如下:panic!("遇到錯誤");我們通常在括號內傳遞自定義訊息。示例請將以下程式碼作為參考: 即時演示fn drink(beverage: ... 閱讀更多

Rust 程式設計中的 Match

Mukul Latiyan
更新於 2021年4月3日 14:32:57

236 次檢視

Rust 為我們提供了 match 關鍵字,可用於模式匹配。它類似於 C 語言中的 switch 語句,並且會評估第一個匹配的分支。示例請考慮以下示例:fn main() {    let number = 17;    println!("告訴我關於 {} 的資訊", number);    match number {       1 => println!("一!")       2 | 3 | 5 | 7 | 11 => println!("素數"),       13..=19 => println!("青少年"),       _ => println!("不特殊"),    } }在上面的示例中,我們試圖使用... 閱讀更多

Rust 程式設計中的 Loop 關鍵字

Mukul Latiyan
更新於 2021年4月3日 14:31:52

159 次檢視

Rust 提供了一個 loop 關鍵字,允許我們執行無限迴圈。loop 關鍵字指示的無限迴圈可以透過使用 break 關鍵字來中斷。此外,我們還可以藉助 continue 關鍵字退出迭代並繼續無限迴圈。示例請考慮以下示例: 即時演示fn main() {    let mut count = 0u32;    println!("無限迴圈開始!!");    // 無限迴圈    loop {       count += 1;       if count == 4 {          println!("四");         ... 閱讀更多

Rust 程式設計中的 HashSet

Mukul Latiyan
更新於 2021年4月3日 13:04:16

405 次檢視

Rust 還為我們提供了 HashSet 資料結構,主要用於確保資料結構中不存在重複值。如果我們嘗試將一個已存在於 HashSet 中的新值插入其中,則先前值會被我們插入的新值覆蓋。除了關鍵特性外,HashSet 還用於執行以下操作:並集 - 提取兩個集合中所有唯一的元素。差集 - 獲取第一個集合中存在但在第二個集合中不存在的所有元素。交集 - 獲取... 閱讀更多

Rust 程式設計中的 HashMap

Mukul Latiyan
更新於 2021年4月3日 14:29:00

526 次檢視

HashMap 是一種重要的資料結構,因為它允許我們以鍵值對的形式儲存資料。在 Rust 中,HashMap 透過鍵儲存值。HashMap 的鍵可以是布林值、整數、字串或任何其他實現了 Eq 和 Hash 特徵的資料型別。HashMap 的大小可以增長,當空間變得過於龐大時,它們也可以自行縮小。我們可以透過多種方式建立 HashMap,可以使用 HashMap::with_capacity(uint) 或 HashMap::new()。以下是 HashMap 支援的方法:insert()get()remove()iter()示例讓我們來看一個示例,其中我們構建一個 HashMap 並使用上面列出的所有這些操作。請考慮以下示例: 即時演示use std::collections::HashMap; fn ... 閱讀更多

廣告

© . All rights reserved.