[為你自己學 Rust] Stack 與 Heap

[為你自己學 Rust] Stack 與 Heap

這個章節跟 Rust 比較沒直接關連,比較像是計算機概論的科普時間。這個章節我們要跟大家介紹關於記憶體的 Stack 與 Heap。通常 Stack 中文會翻譯成「堆疊」,而 Heap 會翻譯成「堆積」,但我覺得中文翻譯好像沒比較容易懂,所以我們這裡就用英文原文就好。

[為你自己學 Rust] 函數

[為你自己學 Rust] 函數

在別的程式語言裡,我相信各位應該都寫過函數或是用過別人寫的函數,但在開始介紹語法之前,我想先問大家一個很簡單的問題:

什麼是函數(function)?

大家是否曾想過這個問題?還是因為學校老師或是書上說要寫函數就是 function 給它寫下去,還有什麼參數、回傳值什麼的...。我上課的時候很愛問同學們「為什麼」,例如「為什麼要寫函數?」這個問題,我大多會得到差不多是「因為可以重複使用」之類的答案。是沒錯啦,函數可以重複使用的確是使用函數的好處之一。那麼到底什麼是函數?

[為你自己學 Rust] 變數與常數

[為你自己學 Rust] 變數與常數

變數與常數

到這個章節才在介紹變數(Variable)與常數(Constant)似乎有點晚, 其實前面的章節已經在用了。如同其它程式語言的設計,Rust 也有變數跟常數的設計,不過 Rust 的變數有一些比較特別的地方,這也是 Rust 會被說比較「安全」的原因。

[為你自己學 Rust] 資料型態(原始型別 - 陣列、元組)

[為你自己學 Rust] 資料型態(原始型別 - 陣列、元組)

前面章節介紹了有純量型(Scalar)的資料型別,這個章節來看看複合型(Compound)的資料型別。複合型主要有陣列(array)跟元組(tuple)這兩種。

也許各位看到陣列會覺得「啊這個我知道,就是用一個中括號...」,基本上是沒錯啦,但 Rust 的陣列會跟你平常在 JavaScript 裡用的陣列不太一樣。

[為你自己學 Rust] 資料型態(原始型別 - 字元、布林值)

[為你自己學 Rust] 資料型態(原始型別 - 字元、布林值)

在 Rust 裡的原始型別(Primitives)是指一些最基本的資料型別,這些型別在 Rust 中是直接內建支援,不需要另外引入其它模組或標準函式庫。

原始型別分兩大類,有純量型(Scalar)以及複合型(Compound)。純量型除了在上個章節介紹到的整數跟浮點數之外,還有字元(char)以及布林值(bool)這兩種;而複合型則有陣列(array)跟元組(tuple)。

這個章節就來跟大家介紹跟上個章節介紹的數字系統比起來,字元以及布林值就相對單純的多了。

[為你自己學 Rust] 哈囉,Rust!

[為你自己學 Rust] 哈囉,Rust!

據說,在很早很早以前,有某位美國貝爾實驗室的大大在他們內部的技術文件的範例程式碼裡提到了 Hello World 這一串字,從那之後許多程式語言的第一堂課都跟風的在畫面上印出 Hello World ,所以我們也來試試來印個 Hello Rust 吧!

不過在這之前,得先把軟體以及開發環境給搞定。Rust 的安裝還算簡單,在 Rust 的官網上可以找到最適合各位的安裝方式跟版本,這我就交給大家動手做了。並不是不想浪費篇幅來寫如何安裝,而是一來 Rust 的安裝真的不難,各作業系統都有支援,我預設各位是有一點工作經驗的工程師,這應該難不倒大家;二來就以往寫文章或寫書的經驗,每次軟體改版,改的不一定是程式語法本身,倒是很常改安裝方式。

[為你自己學 Rust] 前言

[為你自己學 Rust] 前言

嘿,各位好!

我平常的工作主要是教學、企業訓練以及網站專案開發,所以這二十多年來大部份的技術堆疊、工作圈以及生活圈都是網站開發相關,認識的工程師朋友也大多是網站前、後端的工程師。

也許各位不一定認同我這個看法,但我個人一直認為,一位優秀的網站工程師,不管是前端、後端還是整碗全部端走的全端,手上除了平常開發網站用的程式語言外,口袋裡應該也要準備另一款像是 C 語言這種相對比較低階、比較接近系統層級的程式語言,雖然不一定派的上用場,但我相信一定可以在學習的過程中對程式語言或其執行環境有更深一層的了解。