[為你自己學 Rust] 變數與常數
變數與常數
到這個章節才在介紹變數(Variable)與常數(Constant)似乎有點晚, 其實前面的章節已經在用了。如同其它程式語言的設計,Rust 也有變數跟常數的設計,不過 Rust 的變數有一些比較特別的地方,這也是 Rust 會被說比較「安全」的原因。
到這個章節才在介紹變數(Variable)與常數(Constant)似乎有點晚, 其實前面的章節已經在用了。如同其它程式語言的設計,Rust 也有變數跟常數的設計,不過 Rust 的變數有一些比較特別的地方,這也是 Rust 會被說比較「安全」的原因。
前面章節介紹了有純量型(Scalar)的資料型別,這個章節來看看複合型(Compound)的資料型別。複合型主要有陣列(array)跟元組(tuple)這兩種。
也許各位看到陣列會覺得「啊這個我知道,就是用一個中括號...」,基本上是沒錯啦,但 Rust 的陣列會跟你平常在 JavaScript 裡用的陣列不太一樣。
在 Rust 裡的原始型別(Primitives)是指一些最基本的資料型別,這些型別在 Rust 中是直接內建支援,不需要另外引入其它模組或標準函式庫。
原始型別分兩大類,有純量型(Scalar)以及複合型(Compound)。純量型除了在上個章節介紹到的整數跟浮點數之外,還有字元(char)以及布林值(bool)這兩種;而複合型則有陣列(array)跟元組(tuple)。
這個章節就來跟大家介紹跟上個章節介紹的數字系統比起來,字元以及布林值就相對單純的多了。
幾乎每款程式語言都有設計不同的資料型別,像是數字、字串、布林值之類的。Rust 自然也不例外,這個章節我們來看看在 Rust 裡的原始型別(Primitives)資料型態的「數字」。
據說,在很早很早以前,有某位美國貝爾實驗室的大大在他們內部的技術文件的範例程式碼裡提到了 Hello World
這一串字,從那之後許多程式語言的第一堂課都跟風的在畫面上印出 Hello World
,所以我們也來試試來印個 Hello Rust
吧!
不過在這之前,得先把軟體以及開發環境給搞定。Rust 的安裝還算簡單,在 Rust 的官網上可以找到最適合各位的安裝方式跟版本,這我就交給大家動手做了。並不是不想浪費篇幅來寫如何安裝,而是一來 Rust 的安裝真的不難,各作業系統都有支援,我預設各位是有一點工作經驗的工程師,這應該難不倒大家;二來就以往寫文章或寫書的經驗,每次軟體改版,改的不一定是程式語法本身,倒是很常改安裝方式。
嘿,各位好!
我平常的工作主要是教學、企業訓練以及網站專案開發,所以這二十多年來大部份的技術堆疊、工作圈以及生活圈都是網站開發相關,認識的工程師朋友也大多是網站前、後端的工程師。
也許各位不一定認同我這個看法,但我個人一直認為,一位優秀的網站工程師,不管是前端、後端還是整碗全部端走的全端,手上除了平常開發網站用的程式語言外,口袋裡應該也要準備另一款像是 C 語言這種相對比較低階、比較接近系統層級的程式語言,雖然不一定派的上用場,但我相信一定可以在學習的過程中對程式語言或其執行環境有更深一層的了解。
本書正在連載、撰寫中,待完稿後會集結成冊出版
人生不能重來,但 Git 可以!
不知道大 家是否曾經看過周星馳的電影呢?在周星馳的《大話西遊》電影裡,主角至尊寶拿著月光寶盒大喊一聲「波若波羅密」便可穿越時空,回到過去救他的娘子;或是陪我們一起長大的動畫《多啦 A 夢》,只要拉開房間的抽屜裡、搭上時光機,隨時可以回到過去拯救世界。雖然以目前人類的科技應該還不能真的做出穿越時空的時光機(有的話請務必讓我知道,我要回到過去買大樂透!),不過對電腦工作者來說,Git 這個工具就像時光機一樣的神奇,可以讓你回到特定的時間點,或是救回不小心被刪除的檔案。
以目前現行的 Git 版本(2.42.0)來說,從比較常見的高階指令(Porcelain)到比較不常用的低階指令(Plumbing)加一加大概有一百多個,但在一般工程師的日常使用指令大概頂多十來個。如果各位讀者原本日常工作就有在使用 Git 的話,應該會知道 Git 常用的指令大概就是那幾個,像是 git add
、git commit
,開分支、合併分支,也許再加個 git push
跟 git pull
上傳、下載同步進度,加起來常用的指令大概真的就十來個吧,看起來很容易(事實上也不難)。
不過在第一版的《為你自己學 Git》出版到現在這五年期間,我曾在許多學校、社群及企業內部分享或講授 Git 的使用技巧的時候,才發現事實上並不是這麼一回事。
也許是因為疫情的緣故,或是個人職涯遇到天花板的關係,這幾年來不少人會試著轉換到軟體工程師跑道,看看能不能在家裡就能遠距工作,或是得到更好的薪資。
不管是前端還是後端,不管是學著做網站還是手機 App,或者是自學還是去上課,或也許是實體課程還是線上影片,都好,只要能學會、能順利轉職成功拿到軟體工程師的門票,都是好的方法。
至於實體跟線上的學習比較,我相信網路上應該不少參考資料,事實上就算不用看這些比較文章,不同方式的學習、轉職管道的優缺點比較以及成效的好壞,大家大概也都心裡有數。
簡單的說,如果對自己有自信,覺得自己可以很自律把買的線上課程影片看完而且跟著做些作品出來,Udemy 之類的線上影片課程算是相對高品質且低成本的自學管道。不過如果覺得自己是個需要人押著才能乖乖的寫作業的人的話(就像我),剛好同時手邊還有些預算,想在三個月到半年之間就轉職成功的話,參加實體的 Bootcamp 培訓課程可能是相對有效的方法。
坊間類似的培訓單位不少(請讓我自肥的宣傳一下我們自家的 ASTRO Camp,不過本文的目的並不是在比較這些機構或課程,而是想跟各位說,假設大家報名了 Bootcamp 之後,然後呢?