Rust 學習之路─第二十二章:進階的特性用法 2018 年 7 月 2 日 Magic Len 研究分享、Rust 這個章節會詳細介紹特性的關聯型別(Associated Type)、運算子多載(Operator Overloading)的實作方式、呼叫名稱相同但屬於不同特性的方法或關聯函數、替外部的型別實作新的特性。 繼續閱讀
Rust 學習之路─第二十一章:進階的生命周期用法 2018 年 7 月 1 日 Magic Len 研究分享、Rust 關於Rust的生命周期,我們在先前的章節中已經先學習了一部份了。在這個章節,我們將會學習如何使用生命周期的子型別,了解如何替泛型型別參數指定生命周期,以及特性物件的生命周期規則。 繼續閱讀
Rust 學習之路─第二十章:不安全的Rust 2018 年 6 月 30 日 Magic Len 研究分享、Rust 在最一開始的幾個章節,我們就已經了解到Rust程式語言在編譯階段時,就會進行許多檢查,使得程式在通過編譯後,進入執行階段時,能以有效又安全的方式運行。然而,在某些情況下,通常是處理跟作業系統和硬體有關的底層行為時,使用正常能夠確保安全性的Rust程式碼並無法實現出我們要的功能,此時就會需要使用到可能會讓程式變得不安全的開發方式。 繼續閱讀
Rust 學習之路─第十九章:巨集 2018 年 6 月 29 日 Magic Len 研究分享、Rust 在上一個章節中,我們學習了許多跟文字格式化有關的巨集。在這個章節,我們將會更深入地了解巨集到底是什麼東西,以及實作巨集的方式。 繼續閱讀
Rust 學習之路─第十八章:格式化文字 2018 年 6 月 28 日 Magic Len 研究分享、Rust Rust程式語言的標準函式庫中的「std::fmt」模組提供了多種巨集來格式化或是印出字串。在這個章節中,我們將會學習「format!」、「write!」、「writeln!」、「print!」、「println!」、「eprint!」、「eprintln!」巨集的詳細使用方式。 繼續閱讀
Rust 學習之路─第十七章:物件導向程式設計 2018 年 6 月 27 日 Magic Len 研究分享、Rust 許多人會想問:Rust是物件導向的程式語言嗎?答案可以為是,也可以為不是,端看問這個問題的人對於「物件導向程式語言」定義的嚴格程度。Rust程式語言有結構體,而且可以使用「impl」關鍵字來替結構體實作特性和方法,甚至可以使用「pub」關鍵字來設定成員的存取權限,這難道不就是物件導向程式語言嗎?也許吧!但別忘了,Rust程式語言本身也提供了基本資料型態,我們先不論程式的難易度,其實可以只使用基本資... 繼續閱讀
Rust 學習之路─第十六章:並發與並行 2018 年 6 月 26 日 Magic Len 研究分享、Rust 有關於並發(concurrency)和並行(parallelism)的定義每個人可能有不一樣的解釋。筆者認為並行算是並發的子集合,所謂的「並發」,是指在某項工作結束之前,另一項工作就開始了,但這些項工作可以是同時執行,也可以是交替執行。而所謂的「並行」,是並發的一種設計方式,能將工作交給不同的處理器(邏輯處理器)來執行,而達成同時執行兩項以上工作的目的。程式語言如JavaScript,雖然只支援單... 繼續閱讀
Rust 學習之路─第十五章:智慧型指標 2018 年 6 月 25 日 Magic Len 研究分享、Rust 相對於傳統直接使用記憶體位址來對應記憶體資料的指標,智慧型指標為一種資料結構,除了擁有基本的指標能對應記憶體資料的功能外,還可以提供其它不同的資訊以及額外的功能。例如我們先前使用過的Vec結構體和String結構體,就是智慧型指標。 繼續閱讀
ASUS Zenfone 5Z 和 ASUS ZenPower Duo 開箱 2018 年 6 月 24 日 Magic Len 硬體介紹、敗金開箱 由於受不了需要年年換電池且換完電池續航力也沒多好的HTC One M9,只好趁著只要台幣一萬五左右就能買到搭載驍龍845的ASUS Zenfone 5Z發佈,就趕緊預購了。 繼續閱讀
Rust 學習之路─第十四章:Cargo和Crates.io 2018 年 6 月 24 日 Magic Len 研究分享、Rust Cargo除了可以編譯、執行、測試程式專案之外,還可以針對程式專案進行程式建構(build)時的細節調整、將不同程式專案組合成相同的工作空間(Workspace),還能搭配Crates.io來使用,利用程式專案的相依關係快速取得Crates.io上的套件,或是反過來將我們開發完成的函式庫發佈到Crates.io上。 繼續閱讀