函式 functions
fn func_name(var1 : u32, var2 : u32) -> u32
使用關鍵字fn
宣告乙個函式。
fn func_name()
使用逗號,
分割引數。且必須為引數宣告型別 type annotations
。
fn func_name(var1 : u32, var2 : i32)
rust函式只能返回在函式宣告的乙個箭頭1
個值。rust是基於
表示式
的語言。
->
後面,宣告返回值型別 type annotations
。
在函式中,返回的表示式不加分號semicolon';'
。
fn add_one(x: u32) -> u32
使用關鍵字return
。
fn foo(x: u32, y: u32) -> u32
可以在最後返回時也使用return語句,但這被認為是一種糟糕的風格。請記住:
rust是基於表示式
的語言。
發散函式並不返回。返回型別!
代表發散
。
fn diverges() -> !
發散函式可以被用作任何型別。
let x: i32 = diverges()
let x: string = diverges()
指向函式的指標(變數繫結)。
let pfunc: fn(u32) -> u32;
rust 語法和語義 01 變數繫結
變數繫結 variable bindings fn foobar scope between keyword mutability patterns type annotations initializing bindings let mut x u32 5 shadowing let x i sh...
rust 語法和語義 10 引用和借用
引用和借用 references and borrowing 所有權概念將依照官方介紹,分為3個部分說明 操作格式 宣告example t引用 物件不可變 vec mut t 引用 物件 可變 mut vec 訪問 可變物件的引用 似乎類似 c 中的取位址操作,獲得乙個指標 似乎類似 c 中的取位址...
語法和語義錯誤。
編寫程式時,它幾乎是不可避免的,你會犯錯誤。在本節中,我們將談論的是錯誤的種類,以及它們是如何共同處理。錯誤分為兩類 語法和語義錯誤。語法錯誤 語法錯誤發生時,你寫了乙個宣告根據c 語言語法無效。比如說呢。如果5 6然後寫 不平等 雖然這種說法是人類能夠理解,它是不是有效的基於c 的語法。正確的c ...