核心語法與結構對比
從 JavaScript 視角學習 Rust 基礎語法,包括變數宣告、資料型別、控制流和函式定義
核心語法與結構對比
📖 學習目標
透過對比 JavaScript 和 Rust 的基礎語法,快速掌握 Rust 的核心概念。我們將從你熟悉的 JavaScript 語法出發,逐步引入 Rust 的語法特性。
🎯 變數宣告與作用域
JavaScript 的變數宣告
在 JavaScript 中,我們使用 var
、let
和 const
來宣告變數:
正在加载...
Rust 的變數宣告
Rust 使用 let
關鍵字宣告變數,預設是不可變的:
正在加载...
關鍵差異
- 預設不可變性: Rust 中變數預設不可變,需要
mut
關鍵字才能修改 - 變數遮蔽: Rust 允許在同一作用域內重新宣告同名變數
- 型別推導: Rust 編譯器可以自動推導變數型別
📊 基本資料型別對比
JavaScript 的資料型別
JavaScript 是動態型別語言:
正在加载...
Rust 的資料型別
Rust 是靜態型別語言,型別在編譯時確定:
正在加载...
型別系統差異
- 靜態 vs 動態: Rust 在編譯時檢查型別,JavaScript 在執行時檢查
- 整數型別: Rust 有多種整數型別(i8, i16, i32, i64, u8, u16, u32, u64)
- 字串: Rust 區分
String
(擁有所有權)和&str
(借用)
🔄 控制流對比
JavaScript 的控制流
正在加载...
Rust 的控制流
正在加载...
控制流差異
- if 表達式: Rust 的
if
可以傳回值,用於賦值 - match 語句: 比 JavaScript 的
switch
更強大,支援模式匹配 - 迴圈語法: Rust 使用
for in
語法,更簡潔
🏗️ 函式定義對比
JavaScript 的函式
正在加载...
Rust 的函式
正在加载...
函式差異
- 型別註解: Rust 要求函式參數和傳回值有明確的型別註解。
- 傳回值: 在 Rust 中,函式中的最後一個表達式會自動傳回(不需要
return
關鍵字,省略分號)。 - 箭頭函式: Rust 沒有與 JavaScript 的箭頭函式等價的語法,但閉包(closures)有類似的功能。
📚 總結
在本模組中,我們比較了 JavaScript 和 Rust 的核心語法。你現在應該對以下內容有了基本的了解:
- 如何在 Rust 中宣告變數及其不可變性。
- 基本資料型別的差異。
- Rust 中強大的控制流結構,如
match
和if
表達式。 - 使用明確型別定義函式的語法。
接下來,我們將探討兩種語言的模組系統。