Easyfun Easy fun Easy to play

Functions

函式 main函式是入口點,fn關鍵字來宣告新的函式。 Rust是使用snake case式作為函式與變數名稱的慣例。所有字母都是小寫,並用底線區隔單字。 fn main() { println!("Hiiii"); another_function(); } fn another)function() { println!("HIIIII"); } Rust定義函式是從fn開始,再加上函式名稱和一組括號,大括號告訴編譯器函式本體開始與結束。 程式碼會按照main函式中的順序。首先Hiiii會先顯示出來,再來才會呼叫another_function並印出他的訊息。 參數 我們可定義函式成擁有參數(parameters)的,這是函式簽名(signatures... Read more

Data Types

資料型別 Rust每個值都有其確切的數據類型,分為兩種資料型別子集:純量(scalar)與複合(compound) Rust是靜態型別語言,代表他必須在編譯時知道所有變數的型別。 Rust編譯器很聰明,可以根據變數的值上下文中的使用方式來自動推導出變數的值,同時他也在某些情況下,無法推導出變數類型。 let guess = “30”.parse().expect(“Not a number!”); 純量型別 純量型別代表單一數值。 Rust有四種主要的純量型別:整數,浮點數,布林及字元。 整數型別 整數是沒有小數點的點數。 Rust中的整數型別 長度 帶號 非帶號 8... Read more

Variable

變數與可變性 Rust推動你能充分利用Rust提供的安全性和簡易並行性來寫程式的方法之一。 當一個變數是不可變的,只要有數值綁定在一個名字上,你就無法改變其值。 變數綁定 在Rust中我們會: let a = “hello” ,同時稱作變數綁定 變數可變性 fn main() { let x = 1; println!("The value of x is: {}", x); x = 2; println!("The value of x is: {}", x); } 執行後 error[E0384]: cannot assign twice to immutable variable `x` --> /Users/huangyi... Read more

Cargo

Cargo是什麼? Cargo提供了一系列的工具,從項目的建立,構建到測試,運行直至部署,為Rust提供盡可能完整的手段。也與Rust語言及其編譯器rustc緊密結合。 創建專案 創建專案就跟Rails一樣 $ cargo new new_demo $ cd new_demo 會看到創建的結構 $ tree ├── .git ├── .gitignore ├── Cargo.toml └── src └── main.rs 運行方式 有兩種方式可以運行項目: 1.cargo run 2.手動編譯和運行項目 run運行後: cargo run Compiling new_demo v0.1.0 (/Users/huangyingjie/R... Read more

Rust的世界

學習Rust的用法 Rust是什麼? Rust最早是Mozilla的開發專案,到2009年得到資助並加深開發,在2015年發佈1.0版。 Rust運行效率 Rust最大缺點是學習曲線相當陡,但不在於語言特性,主要是在實戰中如何融會貫通的運用,以及遇到了坑(生命週期,借用錯誤,自引用等等)如何迅速、正確解決。 Rust開發效率 Rust在開發最初手寫項目時,開發速度會慢於Go,Java等語言,但熟悉標準庫,熟悉生命週期和所有權的常用解決方法,開發效率將大幅提升,而且原生就能寫出高質量,安全,高效的程式碼。 Read more