最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Rust中的變量與常量

 更新時間:2022年10月20日 10:22:28   作者:Brave-AirPig  
大多數(shù)嘗試過 Rust 的人都希望繼續(xù)使用它。但是如果你沒有使用過它,你可能會想——什么是 Rust,如何理解Rust中的變量與常量,感興趣的朋友跟隨小編一起看看吧

Rust 是一種低級靜態(tài)類型多范式編程語言,專注于安全性和性能,解決了 C/C++ 長期以來一直在努力解決的問題,例如內(nèi)存錯誤和構建并發(fā)程序。它具有以下三個優(yōu)點:

1. 靠語法和編譯器技術,做到了更好的內(nèi)存安全特性;

2. 防止數(shù)據(jù)競爭的數(shù)據(jù)所有權模型,并發(fā)更容易;

3. 抽象沒有性能損失。

變量與可變性

在Rust中,哪怕你聲明的是一個變量,在默認情況下也是不可更改的,如果改變量具有更改需求,那么需要使用 let 聲明的同時給予其可變性 mut

fn main() {
    let mut x = "rust";
    println!("Hello, world! -- Hello {}", x);

    x = "test";
    println!("Hello, world! -- Hello {}", x);

}

// Hello, world! -- Hello rust
// Hello, world! -- Hello test

常量

常量使用 const 關鍵字聲明,常量在綁定值之后也是不可以進行更改的,但是它與不可變的變量有些區(qū)別:

  • 不可以使用 mut 關鍵字,因為常量永遠都是不可變的
  • 聲明常量的同時必須標注其數(shù)據(jù)類型
  • 常量可以在任何作用域中聲明,包括全局作用域
  • 常量只能被綁定到常量表達式,不能被綁定到函數(shù)的調用結果或只能在運行時才能計算出的值
  • 在程序運行期間,常量在其聲明的作用域內(nèi)一直有效
  • 常量名建議大寫,每個獨立單詞之間使用下劃線分割開來
fn main() {
    const X: char = '??';
    println!("Hello, world! -- Hello {}", X);
}

變量隱藏屬性

在Rust語言中變量有這樣一個特性:隱藏

也就是說我們可以使用同名去聲明一個新的變量,新的變量會將之前聲明的變量隱藏,或者你可以理解為覆蓋?

隱藏和變量mut化是不一樣的,根本區(qū)別就是mut允許改變之前的變量值,而隱藏特性是再次聲明一個同名變量,隱藏之前的變量

在者說,如果我們不使用 let 關鍵字,那么重新給非 mut 變量賦值會導致編譯時的錯誤,而使用 let 聲明的同名變量,也是不可變的

還有一個特性,就是我們使用 let 聲明的同名新變量的類型是沒有必要和之前的變量數(shù)據(jù)類型相同的

fn main() {
    let test = 66;
    println!("Hello, world! -- Hello {}", test);

    let test: char = '??';
    println!("Hello, world! -- Hello {}", test);
}

// Hello, world! -- Hello 66
// Hello, world! -- Hello ??

就這個例子我們還可以體驗一下Rust的安全以及規(guī)范

如果隱藏變量沒有被使用,那么編譯會報錯

fn main() {
    let test = 66;
    let test: char = '??';
    println!("Hello, world! -- Hello {}", test);
}

// help: if this is intentional, prefix it with an underscore: `_test`

Rust提醒我了,如果我們是故意操作,需要在test前加上_ ??

到此這篇關于Rust中的變量與常量的文章就介紹到這了,更多相關Rust變量與常量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Rust 標準庫的結構及模塊路徑詳解

    Rust 標準庫的結構及模塊路徑詳解

    在 Rust 中,標準庫提供了一組核心功能,以幫助開發(fā)者執(zhí)行常見的編程任務,這個路徑樹可以作為參考,幫助你更好地理解 Rust 標準庫的結構和模塊之間的關系,本文介紹 Rust 標準庫的結構,并提供相應的 use 路徑,感興趣的朋友一起看看吧
    2024-05-05
  • 利用Rust實現(xiàn)一個簡單的Ping應用

    利用Rust實現(xiàn)一個簡單的Ping應用

    這兩年Rust火的一塌糊涂,甚至都燒到了前端,再不學習怕是要落伍了。最近翻了翻文檔,寫了個簡單的Ping應用練練手,感興趣的小伙伴可以了解一下
    2022-12-12
  • Rust 累計時間長度的操作方法

    Rust 累計時間長度的操作方法

    在Rust中,如果你想要記錄累計時間,通常可以使用標準庫中的std::time::Duration類型,這篇文章主要介紹了Rust如何累計時間長度,需要的朋友可以參考下
    2024-05-05
  • 聊聊Rust 運算符

    聊聊Rust 運算符

    運算符 用于對數(shù)據(jù)執(zhí)行一些操作。被運算符執(zhí)行操作的數(shù)據(jù)我們稱之為操作數(shù)。下面通過本文給大家介紹Rust 運算符的相關知識,感興趣的朋友一起看看吧
    2021-11-11
  • Rust如何使用Sauron實現(xiàn)Web界面交互

    Rust如何使用Sauron實現(xiàn)Web界面交互

    Sauron?是一個多功能的?Web?框架和庫,用于構建客戶端和/或服務器端?Web?應用程序,重點關注人體工程學、簡單性和優(yōu)雅性,這篇文章主要介紹了Rust使用Sauron實現(xiàn)Web界面交互,需要的朋友可以參考下
    2024-03-03
  • Rust的slab庫使用場景分析

    Rust的slab庫使用場景分析

    slab 是一個輕量級、高性能的工具,非常適合管理固定大小的資源集合,尤其是在網(wǎng)絡編程和事件驅動架構中,這篇文章主要介紹了Rust的slab庫使用教程,需要的朋友可以參考下
    2024-12-12
  • 詳解Rust中三種循環(huán)(loop,while,for)的使用

    詳解Rust中三種循環(huán)(loop,while,for)的使用

    我們常常需要重復執(zhí)行同一段代碼,針對這種場景,Rust?提供了多種循環(huán)(loop)工具。一個循環(huán)會執(zhí)行循環(huán)體中的代碼直到結尾,并緊接著回到開頭繼續(xù)執(zhí)行。而?Rust?提供了?3?種循環(huán):loop、while?和?for,下面逐一講解
    2022-09-09
  • 深入講解下Rust模塊使用方式

    深入講解下Rust模塊使用方式

    很多時候,我們寫的代碼需要按模塊組織,因為我們無法將大量的代碼都寫在一個文件上,那樣不容易維護,下面這篇文章主要給大家介紹了關于Rust模塊使用方式的相關資料,需要的朋友可以參考下
    2022-03-03
  • Rust常用特型之Drop特型

    Rust常用特型之Drop特型

    本文主要介紹了Rust常用特型之Drop特型,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-03-03
  • Rust動態(tài)調用字符串定義的Rhai函數(shù)方式

    Rust動態(tài)調用字符串定義的Rhai函數(shù)方式

    Rust中使用Rhai動態(tài)調用字符串定義的函數(shù),通過eval_expression_with_scope實現(xiàn),但參數(shù)傳遞和函數(shù)名處理有局限性,使用FnCall功能更健壯,但更復雜,總結提供了更通用的方法,但需要處理更多錯誤情況
    2025-02-02

最新評論

惠安县| 城市| 东乌珠穆沁旗| 庆元县| 黄大仙区| 北流市| 缙云县| 诏安县| 封丘县| 温泉县| 台湾省| 乌恰县| 永春县| 万全县| 鲜城| 谢通门县| 云南省| 安陆市| 绥化市| 司法| 益阳市| 三穗县| 平昌县| 安阳市| 牙克石市| 麟游县| 瑞金市| 海门市| 宜川县| 封丘县| 卓尼县| 建瓯市| 区。| 沙洋县| 蛟河市| 宜川县| 当涂县| 横山县| 长宁区| 个旧市| 邯郸县|