langShift

核心語法與結構對比

從 JavaScript 視角學習 Rust 基礎語法,包括變數宣告、資料型別、控制流和函式定義

核心語法與結構對比

📖 學習目標

透過對比 JavaScript 和 Rust 的基礎語法,快速掌握 Rust 的核心概念。我們將從你熟悉的 JavaScript 語法出發,逐步引入 Rust 的語法特性。


🎯 變數宣告與作用域

JavaScript 的變數宣告

在 JavaScript 中,我們使用 varletconst 來宣告變數:

正在加载...

Rust 的變數宣告

Rust 使用 let 關鍵字宣告變數,預設是不可變的:

正在加载...

關鍵差異

  1. 預設不可變性: Rust 中變數預設不可變,需要 mut 關鍵字才能修改
  2. 變數遮蔽: Rust 允許在同一作用域內重新宣告同名變數
  3. 型別推導: Rust 編譯器可以自動推導變數型別

📊 基本資料型別對比

JavaScript 的資料型別

JavaScript 是動態型別語言:

正在加载...

Rust 的資料型別

Rust 是靜態型別語言,型別在編譯時確定:

正在加载...

型別系統差異

  1. 靜態 vs 動態: Rust 在編譯時檢查型別,JavaScript 在執行時檢查
  2. 整數型別: Rust 有多種整數型別(i8, i16, i32, i64, u8, u16, u32, u64)
  3. 字串: Rust 區分 String(擁有所有權)和 &str(借用)

🔄 控制流對比

JavaScript 的控制流

正在加载...

Rust 的控制流

正在加载...

控制流差異

  1. if 表達式: Rust 的 if 可以傳回值,用於賦值
  2. match 語句: 比 JavaScript 的 switch 更強大,支援模式匹配
  3. 迴圈語法: Rust 使用 for in 語法,更簡潔

🏗️ 函式定義對比

JavaScript 的函式

正在加载...

Rust 的函式

正在加载...

函式差異

  1. 型別註解: Rust 要求函式參數和傳回值有明確的型別註解。
  2. 傳回值: 在 Rust 中,函式中的最後一個表達式會自動傳回(不需要 return 關鍵字,省略分號)。
  3. 箭頭函式: Rust 沒有與 JavaScript 的箭頭函式等價的語法,但閉包(closures)有類似的功能。

📚 總結

在本模組中,我們比較了 JavaScript 和 Rust 的核心語法。你現在應該對以下內容有了基本的了解:

  • 如何在 Rust 中宣告變數及其不可變性。
  • 基本資料型別的差異。
  • Rust 中強大的控制流結構,如 matchif 表達式。
  • 使用明確型別定義函式的語法。

接下來,我們將探討兩種語言的模組系統。