iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
Software Development

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

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

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

Day11 - Go中最強的的魔法: 併發程式執行

當 Google 工程師設計 Go 語言時,他們明確將多核支援和原生併發支援定為其核心設計目標,同時將併發作為 Go 的設計哲學的一部分。Go 語言一經公開發布...

2024-08-29 ‧ 由 kaichiaboy 分享
DAY 12

Day12 - goroutine是怎麼工作的?

在這篇Go中最強的魔法: 併發程式執行的文章中,我們探討了併發的基本概念以及Go語言中實現併發的機制—Goroutine。這些內容對於剛接觸Go的Gopher來...

2024-08-30 ‧ 由 kaichiaboy 分享
DAY 13

Day13 - channel中蘊含的大智慧

在探索Go語言的併發模型時,我們會接觸到兩個核心元素:Goroutine和channel。Goroutine是構成Go應用併發架構的基石,而channel則在整...

2024-08-31 ‧ 由 kaichiaboy 分享
DAY 14

Day14 - 更低級別的Go的變數同步技巧 - sync

Go 語言的併發模型中,一句由 Rob Pike 所提的經典名言非常關鍵:「不要透過共享記憶體來通信,而是透過通信來共享記憶體(Don’t communicat...

2024-09-01 ‧ 由 kaichiaboy 分享
DAY 15

Day15 - 模組管理: Go Moduels的管理

在開始講解Go Modules之前,讓我們先回顧一下Go語言在模組管理上的發展歷程。Go語言從1.11版開始引入了Go Modules,這是一種新的packag...

2024-09-02 ‧ 由 kaichiaboy 分享
DAY 16

Day16 - 單元測試: 提高程式碼的質量

在程式設計的世界裡,單元測試像是你的程式碼的私人保鏢,每一個保鏢守護著各自一小區塊的程式碼,確保它不會在你不注意的時候崩潰。在這篇文章中,我們將深入探討 Go...

2024-09-03 ‧ 由 kaichiaboy 分享
DAY 17

Day17 - 更多環境變數: GOOS, GOARCH等等

在使用 Go 語言開發應用程式時,環境變數扮演著關鍵的角色。它們幫助我們配置編譯器、執行環境、調試資訊等多個方面。理解這些變數的作用,可以讓我們更好地掌控 Go...

2024-09-04 ‧ 由 kaichiaboy 分享
DAY 18

Day18 - Go語言的基本性能分析

在現代程式開發中,性能分析是提升程式效率和可靠性的重要一環。對於 Go 語言來說,它以其卓越的性能和簡單的語法受到眾多開發者的青睞。然而,要充分發揮 Go 的性...

2024-09-05 ‧ 由 kaichiaboy 分享
DAY 19

Day19 - 記憶體管理: 垃圾回收機制

在程式開發的過程中,記憶體管理是一個非常重要的議題。如果記憶體管理不當,可能會導致程式崩潰或效能下降。在 Go 語言中,記憶體管理的關鍵就在於它的垃圾回收(Ga...

2024-09-06 ‧ 由 kaichiaboy 分享
DAY 20

Day20 - Go專案的高效開發技巧

Go 語言以其簡潔的語法、高效的性能和出色的併發支持,成為許多開發者心中的首選。然而,在實際的開發中,為了讓專案順利進行,我們不僅需要了解語言本身,還需要掌握一...

2024-09-07 ‧ 由 kaichiaboy 分享