rust 學習之旅二,關鍵字和保留字

2022-03-12 03:39:28 字數 1880 閱讀 6245

當前,以下關鍵字具有所描述的功能。

as-執行原始型別轉換,消除包含專案的特定特徵的歧義,或在useand extern crate語句中重新命名專案

async-返回a future而不是阻塞當前執行緒

await-暫停執行直到a的結果future準備好

break -立即退出迴圈

const -定義常量專案或常量原始指標

continue -繼續進行下乙個迴圈迭代

crate -鏈結乙個外部板條箱或乙個巨集變數,該變數代表定義巨集的板條箱

dyn -動態分配給特徵物件

else-回退if並if let控制流程構造

enum -定義乙個列舉

extern -鏈結外部板條箱,函式或變數

false -布林型假文字

fn -定義函式或函式指標型別

for -迴圈遍歷迭代器中的專案,實現特徵或指定更高階別的生存期

if -根據條件表示式的結果進行分支

impl -實現固有或特徵功能

in- for迴圈語法的一部分

let -繫結變數

loop -無條件迴圈

match -將值匹配到模式

mod -定義乙個模組

move -使封包對其所有捕獲物擁有所有權

mut -表示引用,原始指標或模式繫結中的可變性

pub-表示結構字段,impl塊或模組中的公共可見性

ref -通過引用繫結

return -從函式返回

self -我們正在定義或實現的型別的型別別名

self -方法主題或當前模組

static -持續整個程式執行的全域性變數或生命週期

struct -定義乙個結構

super -當前模組的父模組

trait -定義乙個特徵

true -布林值真實文字

type -定義型別別名或關聯的型別

unsafe -表示不安全的**,功能,特徵或實現

use -將符號納入範圍

where -表示約束型別的子句

while -根據表示式的結果有條件地迴圈

保留以備將來使用的關鍵字

以下關鍵字沒有任何功能,但被rust保留,以備將來使用。

abstract

become

boxdo

final

macro

override

priv

trytypeof

unsized

virtual

yield

原始識別符號

原始識別符號是一種語法,可讓您在通常不允許使用的關鍵字中使用關鍵字。您可以通過在關鍵字前面加上來使用原始識別符號r#。

例如,match是乙個關鍵字。如果嘗試編譯使用以下函式match作為其名稱的函式:

檔名:src / main.rs

fn match(needle: &str, haystack: &str) -> bool

您將收到此錯誤:

error: expected identifier, found keyword `match`

--> src/main.rs:4:4

|4 | fn match(needle: &str, haystack: &str) -> bool

fn main()

此**將編譯而沒有任何錯誤。請注意r#函式名稱在其定義中的字首以及在中呼叫該函式的位置main。

原始識別符號允許您使用選擇的任何單詞作為識別符號,即使該單詞恰好是保留關鍵字。另外,原始識別符號使您可以使用以與包裝箱不同的rust版本編寫的庫。例如,try不是2023年版的關鍵字,而是2023年版的關鍵字。如果您依賴使用2015版編寫的並且具有try功能的庫,則r#try在這種情況下,需要使用原始識別符號語法從2018版**中呼叫該函式

python保留關鍵字和常用關鍵字

python保留關鍵字和常用關鍵字如下 上圖是python3中的關鍵字,python2.7中的關鍵字部分會有區別,具體在自己列印輸出檢視 import keyword print join keyword.kwlist lambda 用於匿名函式中 assert 斷言語句,常用與除錯 raise 用...

Javascript關鍵字和保留字

ecma 262 定義了 ecmascript 支援的一套關鍵字 keyword 這些關鍵字標識了 ecmascript 語句的開頭和 或結尾。根據規定,關鍵字是保留的,不能用作變數名或函式名。下面是 ecmascript 關鍵字的完整列表 break case catch continue def...

Oracle的保留字和關鍵字

1.oracle有許多保留字 reserved words 和關鍵字 keywords 其區別是保留字不可以用來作為識別符號,關鍵字可以用來作為識別符號,但不建議使用。2.如果碰到關鍵字來作為識別符號,例如 create table my box id number 10 not null,colu...