今天的主題是 Abstract class,也就是抽象類別。抽象類別跟一般類別不同之處在於,抽象類別僅定義方法,而沒有實作,因此不能直接拿來生成物件。舉個例子...
大家好今天要介紹的是 Reference and Borrowing(參照與借用),上一篇在最後的時候有提到如果所有權已經被轉移給了函式但是原本的 scope...
各位好,時間過得有點快沒想到已經 Day14 了!,不知道時間夠不夠達成我當初設定的目標呢?那麼今天就繼續把 ownership 的概念完成吧!今天要講的是 o...
今天要來繼續研究 ownership,這是一個比較有挑戰的章節各位準備好了嗎?我們繼續前進吧! Ownership Rules 在開始之前我們先來看一下 own...
繼承是 Object-Oriented Programming 當中的一個概念。如果我們說一個類別 B 繼承了類別 A,則 B稱為 A的子類別,A 就是 B的父...
先前我們已經有講過 Array 以及各語言與 Array 類似的資料結構,現在讓我們進一步來看當我們的 Array 從 Single dimension 變成...
我們的 main 真的是程式一開始執行的點嗎?還記得在 gdb 中看程式是怎麼執行過來的指令 bt 嗎,我們用 gdb 把中斷點設在 main 函式,在執行起來...
大家好,今天要來介紹的是 Rust 的 ownership 老實說筆者在開始寫這篇之前沒有什麼信心,感覺沒有辦法很好的和各位解釋所以如果我有寫不對或是哪裏有疑問...
今天的挑戰內容是把一個整數本來是十進位表示,變成是二進位表示。例如 5 變成二進位的話是 101,13 變成二進位是 1101。然而我們不只是要以二進位表示,而...
各位好,今天要來介紹的是 Rust 的控制流程那麼其實也就是各位熟悉的 if else for loop 等用法。那就馬上開始吧! if Expressions...
今天要來談的是遞迴,不知道大家小時候有沒有跟我一樣,一看到遞迴就會有種莫名的恐懼,覺得很難去推論出這個遞迴函式到底要做什麼事情,然後到最後就頭暈了…但我沒想到...
又到了每天學一點 Rust 的時間,在進入今天的主題之前為了讓程式寫起來可以更方便好管理我們先來介紹一下簡單的 Module 而我其實在前面的範例就已經是這樣做...
今天我們來看各家有什麼樣的資料結構來存放 Key-value pair 囉!而這樣的結構又是一對一的映射關係,也就是一個 Key 只會對到一個 Value。而我...
今天我們來探討跟 Array 相關的話題吧!當然不是每個語言都有內建 Array,而是有其他類似的,我們會一起來看看有什麼樣的不一樣囉!(今天比較像是自由探索,...
今天要繼續上一篇還未完成的資料型態,相信今天也是充實的一天那就讓我們開始吧! Compound Types Compound types 可以把很多的值合併再一...
今天在 Hackerrank 的安排是複習的一天,本來的題目是比較容易,所以在這裡我想我們就來做一些比較經典的問題,但又跟先前的主題有關係。這裡我選了一個經典的...
各位好又見面了,今天要和各位介紹 Rust 的資料型態而想必有寫過程式的應該對基本的資料型態都不陌生,那麼就讓我們開始介紹吧! 強型別 Rust 是屬於強型別的...
本系列的程式碼都有在 Ubuntu 18.04 下以目前的穩定版 Rust 1.37 測試過 這次的程式碼在 https://github.com/Dan...
今天的主題是 Loop,也就是迴圈。迴圈是一種常見的控制流程,意思是一段程式,我們可以執行特定次數,或者是當某個條件成立時,就停止執行。當然我們有時候會不小心寫...
今天的主題是建立一個 Class Person(不過我們待會就會看到不是每個語言都有所謂的 Class),而 Person class 有一個屬性是 age,...
大家好,上一篇有稍微提到 Rust 的變數預設都是 immutable 的而 rust 的變數類型其實非常的多跟複雜我們今天就用例子來帶各位一步一步了解 rus...
大家好,今天要帶大家搭建 Rust 的開發環境還有使用 cargo 工具來 Hello world 一下。 Rustup rustup is an insta...
這功能或許平常比較不常用一點,它長這樣子 trait Name { fn name(&self); } struct Foo; impl Nam...
如何讓你的程式不失控呢?當然就是要學好控制流程啦!今天我們來談談 Conditional statements,也就是如何改變程式執行的流程。其實就是像 if...
Rust 中有閉包這種東西 let x = 42; let f = || println!("x: {}", x); f(); // 會印...
今天的主題是 Arithmetic operators,就是讓我們來做一些數學運算吧!實作上是件很簡單的事,我們就只是把幾個變數拿來加減乘除並且印出結果,你一定...
上一篇介紹了 WebAssembly 既然都要學編譯式語言不如就來學 Rust 吧! Rust 的緣起 首先來一段 Mozilla 官方的說明 Rust 是...
Rust 中的列舉是 Rust 一個強大的功能,它跟 C 的列舉最大的不同是,它可以帶有資料 enum Foo { A(i32), B { a:...
大家好今天會帶各位來玩玩官網的第一個範例,實作一個終極密碼的小遊戲。 終極密碼想必大家都很熟悉了吧?我就不多做介紹了直接開始吧! 新增一個專案出來 $ car...
今天的主題是 Data Types,雖然乍看之下可能會以為很無聊,但是內容還是很豐富唷!因為我還是會在過程之中介紹到該語言的一些特性。那就讓我們開始吧! 今日...