【Rust】跟著社群資源學習Rust_(2)

更新於 發佈於 閱讀時間約 2 分鐘

前言

上一篇已經可以用Playground練習Rust,文件中的第一章就不細看了。至於第二章是實作做一個猜數字遊戲,讀取使用者輸入,跟亂數產生的數字比大小,輸出比較結果,有興趣可以自行練習,因此接續從第三章開始。

如果是想在本機進行開發,簡單來說不外乎:

  1. 安裝編譯器
  2. 安裝你順手的編輯器,如VScode、Sublime Text、Notepad++...
  3. 確認安裝狀況,設置環境變數
  4. 用編譯器對檔案進行編譯rustc,產生執行檔.exe
  5. 運行執行檔,確認輸出結果


Rust也一併提供套件管理等工具:

  1. 使用cargo進行專案生成、套件更新、編譯打包等處理
  2. 產生.toml進行依賴配置控管。


對應其他語言來說類似:

  • Python中的pip
  • Javascript中的npm
  • Java中的MavenGradle
  • Go中的go mod


變數與不可變性

如前一篇最後提到:我們定義出來的變數,預設都是不可變的變數。
但在Rust中也存在const來定義常數。

差別在於使用const時,值應該要是一個已知確定值,不會在執行期間再透過運算決定結果。let定義出來的變數,則是讓開發者可以決定哪些時候開放功能可以異動值。

至於預設不可變,可以確保當下的資料值,尤其遇到並行/平行處理等,多執行緒的狀況下簡化了不可控性。當然,設計上以及資源、效能取捨下,還是可以原則使用mut進行修改操作。

常數慣例全大寫,定義時要給型別,不能透過型別推斷

常數慣例全大寫,定義時要給型別,不能透過型別推斷


Shadowing

簡單理解為同一個變數名稱spaces被重複使用,新的定義的值會遮蔽掉原先的值。

fn main() {
let spaces = 1;
let spaces = 2;

println!("{spaces}");
}


avatar-img
13會員
68內容數
遇到的坑、解過的題、新知識的探索、舊時代的遺毒!? 工作後我發現,文件更新往往跟不上新需求的更迭,犯錯的歷史總是不斷重演。因此,我改變了方式,蒐集從程式上、系統上的每一次異常處理過程,好讓再次遇到相同的問題時能快速應變。此專題就是我的錯題本,期待日後不管在工作上或交流上遇到難題,都能輕鬆地應答:有什麼難的,我都踩過。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Err500 的其他內容
學習 Rust 程式語言的心得分享,文章內容著重在語言設計層面,並使用線上 Playground 進行學習與練習,介紹了基本輸出、變數定義等概念。
學習 Rust 程式語言的心得分享,文章內容著重在語言設計層面,並使用線上 Playground 進行學習與練習,介紹了基本輸出、變數定義等概念。
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~