iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
Software Development

Go語言設計與架構之美 系列

作為Cloud Native、區塊鏈的必備程式語言,Go在這幾年真的吸引到不少目光。它簡潔並且具,兼具「速度感」和「力量感」,相信你也曾在某個瞬間被它的魅力所折服。然而,許多剛開始學習 Go 語言的開發者常常難以找到有效的學習路徑。或者,在學習一段時間後,對 Go 的理解仍然停留在不上不下的「半桶水」階段。究其原因,不外乎以下幾點:
•不敢動手,學習僅限於紙上談兵
•用其他語言的思維來學習 Go,最終「捨本逐末」
最後,基礎不穩固,專案無法推進,這怎麼行呢?這個系列將帶給你一條系統且完整的 Go 語言設計之美,了解 Go 語言的一些獨特創新之處

鐵人鍊成 | 共 30 篇文章 | 12 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day1 開篇 - Go語言設計與架構之美

當你首次接觸 Go 語言時,可能會被它的簡潔、直觀所吸引,重點是,他還是編譯式語言,速度快、可執行文件小、開發也很快、還有很多第三方Library可以使用。然而...

2024-08-19 ‧ 由 kaichiaboy 分享
DAY 2

Day2 - Go語言的設計哲學

Go語言,又稱Golang,是由Google開發的一種現代程式語言。它在2007年誕生,由Robert Griesemer、Rob Pike和Ken Thomp...

2024-08-20 ‧ 由 kaichiaboy 分享
DAY 3

Day3 - 一個Go的程式專案是怎麼樣的

我們編寫的 Go 程式一般都是簡單程式,一般由一個或幾個 Go 原始碼檔案組成,而且所有原始碼檔案都在同一個目錄中。但是生產環境中運行的程式可不會這麼簡單,通常...

2024-08-21 ‧ 由 kaichiaboy 分享
DAY 4

Day4 - 搞清楚Go語言的生命週期

在剛開始學習 Go 語言的時候,我們可能經常會遇到這樣一個問題:一個 Go 專案中有數十個 Go packages,每個package中又有若干常數、變數、各種...

2024-08-22 ‧ 由 kaichiaboy 分享
DAY 5

Day5 - Defer的妙用 - 跟蹤函數調用鏈

在 Go 語言中,defer 關鍵字是一個強大而且實用的工具,能讓你更優雅地處理資源釋放和一些在函數結束前必須執行的清理工作。本文將通過生動的比喻和簡單的示例,...

2024-08-23 ‧ 由 kaichiaboy 分享
DAY 6

Day6 - Method: Method與如何選擇Receiver類型

和多數程式語言一樣,在 Go 語言中,我們需要考慮如何設計方法。由於在 Go 語言中,方法本質上就是函數,所以我們之前講解的關於函數設計的內容同樣適用於方法,例...

2024-08-24 ‧ 由 kaichiaboy 分享
DAY 7

Day7 - Method: 怎麼用變數模擬繼承

Go 語言的繼承與組合 Go 語言沒有像 C++/Java 等語言可以透過 extend 關鍵字來繼承某個 class。因此,Go class的所有方法都是自己...

2024-08-25 ‧ 由 kaichiaboy 分享
DAY 8

Day8 - Interface即類型的使用定義

在 Go 語言中,interface 是一組方法的集合,透過 type 和 interface 關鍵字來定義。這些方法的集合唯一確定了這個 interface...

2024-08-26 ‧ 由 kaichiaboy 分享
DAY 9

Day9 - Interface: 為什麼nil接口不等於nil?

Interface 是 Go 這門靜態語言中具有「動靜兼備」特性的語法元素。它既展示了 Go 的強大表達能力,也經常讓初學者感到迷惑。為了釐清這些迷惑,本文將深...

2024-08-27 ‧ 由 kaichiaboy 分享
DAY 10

Day 10 - Interface的使用技巧

這篇文章要來聊聊如何運用Interface改善我們的程式專案,換句話說,我們講的是Go語言中interface的使用模式和習慣。 首先得強調一點,那就是「適度封...

2024-08-28 ‧ 由 kaichiaboy 分享