欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

rust語言基礎(chǔ)pub關(guān)鍵字及Some語法示例

 更新時間:2023年07月19日 10:53:43   作者:子棲  
這篇文章主要為大家介紹了rust語言基礎(chǔ)pub關(guān)鍵字及Some語法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

rust語言pub關(guān)鍵字語法

在rust中,pub是一個關(guān)鍵字,用于指定一個項的可見性。它可以被用來控制模塊(module)中的函數(shù)、結(jié)構(gòu)體、枚舉、常量、trait等的可見性。

如果一個項被標記為pub,則可以被外部的模塊訪問和使用。如果一個項沒有被標記為pub,則它只能在當前模塊內(nèi)部訪問。

// 模塊定義
mod foo {
    // 函數(shù)定義,沒有標記 pub
    fn private_function() {
        println!("This is a private function.");
    }
    // 函數(shù)定義,標記 pub
    pub fn public_function() {
        println!("This is a public function.");
    }
    // 結(jié)構(gòu)體定義,標記 pub
    pub struct PublicStruct {
        pub field1: i32,
        field2: i32,
    }
    // 枚舉定義,標記 pub
    pub enum PublicEnum {
        Option1,
        Option2,
    }
}
// 在另一個模塊中使用 foo 模塊中的公共函數(shù)和結(jié)構(gòu)體
fn main() {
    foo::public_function(); // 可以調(diào)用公共函數(shù)
    let my_struct = foo::PublicStruct { field1: 42, field2: 13 }; // 可以創(chuàng)建公共結(jié)構(gòu)體的實例
    // 編譯錯誤:private_function 是私有函數(shù),不能被訪問
    // foo::private_function();
}

Rust中的Some

1、首先要知道什么是Option和Result

來源:

許多語言使用null/nil/undefined類型來代表空的輸出和處理異常錯誤。Rust跳過了,特別是防止空指針異常之類的問題,由于異常等原因?qū)е旅舾袛?shù)據(jù)泄漏等等。相反,Rust提供了兩個特殊的類枚舉:Option和Result就是來處理以上的問題

內(nèi)容:

  • 可選的值要么是Some要么是沒有值/None

Result要么用成功/Ok要么是失敗/Err

// An output can have either Some value or no value/ None.
enum Option<T> { // T is a generic and it can contain any type of value.
  Some(T),
  None,
}
// A result can represent either success/ Ok or failure/ Err.
enum Result<T, E> { // T and E are generics. T can contain any type of value, E can be any error.
  Ok(T),
  Err(E),
}

并且不需要單獨引入它們

Option的基礎(chǔ)用法:

在寫一個函數(shù)或者數(shù)據(jù)類型的時候:

  • 如果一個函數(shù)的參數(shù)是可選的
  • 如果函數(shù)是非空的并且輸出的返回可能不是空值
  • 如果一個值,活著是一個屬性的數(shù)據(jù)類型可能是空

2、我們不得不使用Option作為它們的數(shù)據(jù)類型

例如,一個函數(shù)的輸出可能是&str類型或者是輸出是空,函數(shù)的返回類型可以被設(shè)置為 Option<&str>

fn get_an_optional_value() -> Option<&str> {
    //if the optional value is not empty
    return Some("Some value");
    //else
    None
}
struct Name {
  first_name: String,
  middle_name: Option<String>, // middle_name can be empty
  last_name: String,
}

以上就是rust語言基礎(chǔ)pub關(guān)鍵字及Some語法示例的詳細內(nèi)容,更多關(guān)于rust語言pub Some語法的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 淺析Rust多線程中如何安全的使用變量

    淺析Rust多線程中如何安全的使用變量

    這篇文章主要為大家詳細介紹了Rust如何在線程的閉包中安全的使用變量,包括共享變量和修改變量,文中的示例代碼講解詳細,有需要的小伙伴可以參考下
    2025-01-01
  • Rust中使用Serde對json數(shù)據(jù)進行反序列化

    Rust中使用Serde對json數(shù)據(jù)進行反序列化

    JSON作為目前流行的數(shù)據(jù)格式之一,被大家廣泛使用,在日常的開發(fā)實踐中,將JSON數(shù)據(jù)反序列化為對應(yīng)的類型具有重要的意義,在Rust中,Serde幾乎成了JSON數(shù)據(jù)解析的事實標準,本文將給大家介紹Rust中使用Serde對json數(shù)據(jù)進行反序列化,需要的朋友可以參考下
    2024-01-01
  • Rust中的方法與關(guān)聯(lián)函數(shù)使用解讀

    Rust中的方法與關(guān)聯(lián)函數(shù)使用解讀

    在Rust中,方法是定義在特定類型(如struct)的impl塊中,第一個參數(shù)是self(可變或不可變),方法用于描述該類型實例的行為,而關(guān)聯(lián)函數(shù)則不包含self參數(shù),常用于構(gòu)造新實例或提供一些與實例無關(guān)的功能,Rust的自動引用和解引用特性使得方法調(diào)用更加簡潔
    2025-02-02
  • Rust中的Option枚舉快速入門教程

    Rust中的Option枚舉快速入門教程

    Rust中的Option枚舉用于表示可能不存在的值,提供了多種方法來處理這些值,避免了空指針異常,文章介紹了Option的定義、常見方法、使用場景以及注意事項,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • Rust裸指針的安全性實例講解

    Rust裸指針的安全性實例講解

    裸指針是一個不包含所有權(quán)和借用關(guān)系的原始指針,它們與常規(guī)指針相比沒有任何限制和保護措施,這篇文章主要介紹了Rust裸指針的安全性實例,需要的朋友可以參考下
    2023-05-05
  • 深入了解Rust中trait的使用

    深入了解Rust中trait的使用

    先前我們提到過?trait,那么Rust中的trait?是啥呢?本文將通過一些示例為大家詳細講講Rust中trait的使用,感興趣的小伙伴可以了解一下
    2022-11-11
  • Rust語言中的String和HashMap使用示例詳解

    Rust語言中的String和HashMap使用示例詳解

    這篇文章主要介紹了Rust語言中的String和HashMap使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • Rust中箱、包和模塊的學(xué)習(xí)筆記

    Rust中箱、包和模塊的學(xué)習(xí)筆記

    Rust中有三個重要的組織概念:箱、包、模塊,本文主要介紹了Rust中箱、包和模塊的學(xué)習(xí)筆記,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • R語言ggplot2繪圖安裝與調(diào)試

    R語言ggplot2繪圖安裝與調(diào)試

    ggplot2是R語言中最常用的繪圖包之一,它提供了一種基于圖層的繪圖語法,使得用戶可以輕松地創(chuàng)建高質(zhì)量的數(shù)據(jù)可視化圖表。在使用ggplot2之前,需要先安裝該包并進行調(diào)試。安裝ggplot2可以通過CRAN或GitHub進行,調(diào)試則需要注意數(shù)據(jù)格式、語法錯誤等問題。
    2023-06-06
  • Rust for循環(huán)語法糖背后的API場景分析

    Rust for循環(huán)語法糖背后的API場景分析

    for語句是一種能確定循環(huán)次數(shù)的循環(huán),for 語句用于執(zhí)行代碼塊指定的次數(shù),今天通過本文給大家介紹Rust for循環(huán)語法糖背后的API場景分析,感興趣的朋友跟隨小編一起看看吧
    2022-11-11

最新評論