J.J.'s Blogs
J.J. Huang
  • Taipei, Taiwan
本站是 J.J.Huang 的技術學習與筆記部落格,涵蓋前端、後端開發、Spring Boot、微服務、資料庫、運維等領域。分享程式語言、開發工具、系統架構及遊戲修改分析、逆向工程等的研究與知識分享。
  • Taipei, Taiwan
  • DMCA.com Protection Status
  • Go | 套件實現程式碼的解耦

    💬 簡介 當專案逐漸龐大時,將功能模組獨立包裝成套件,是實現 解耦(decoupling) 與 高內聚低耦合 的核心關鍵。 Go 語言本身即以套件(package)為基本模組單位,善用套件能讓你的架構如魚得水、靈活優雅。 本篇將說明套件在模組化設計中的角色與實作方式,如何分離邏輯、...

  • Go | 巢狀套件與子套件應用

    💬 簡介 當專案不再只是幾個檔案、幾個函式時,如何組織好套件結構就變得格外重要。透過 巢狀套件(nested packages) 的方式,我們可以將功能邏輯依層分類,讓專案架構清晰可維護。 本篇將介紹 Go 語言中巢狀套件的設計方式、命名原則,以及如何使用子套件有效組織大型專案...

  • Go | 如何處理循環引用問題

    💬 簡介 當專案成長到一定規模後,各模組間開始互相依賴邏輯與資料,這時最容易發生的問題之一就是 循環引用(circular import) 。 舉例來說: user 套件需要用到 order 的函式 同時 order 也需要 user 的資料結構 ...

  • Go | 套件變數常數共享技巧

    💬 簡介 在開發 Golang 專案時,常會遇到以下需求: 多個套件需共用某些設定值(如:API 金鑰、資料夾路徑) 系統需統一維護一些常數或全域變數 跨模組取用設定資料時,希望保持 一致性、可維護性與初始化順序 本篇將說明如何有效地組織與共享變數與常數,並實作...

  • Go | 套件結構介面協同設計

    💬 簡介 隨著程式規模擴大,設計良好的 模組結構與職責劃分 變得越來越重要。Go 雖然以簡潔著稱,但仍能藉由 結構體與介面 的設計,配合套件拆分,達到清楚的模組邊界與低耦合的維護策略。 本篇將介紹: 結構體與介面的協同設計概念 如何設計內聚的套件 實現鬆耦合的模組分層架...

  • Go | 製作並發布自己的套件

    💬 簡介 撰寫一個好用的 Go 套件後,是否想過讓更多人受益?只要你能將它 模組化並上傳至 GitHub ,其他開發者便能透過 go get 輕鬆使用你的作品。 Go 語言的模組系統(Go Modules)讓套件分享變得簡單易行。本篇將手把手教你: 如何建立一個模組化的 G...

  • Go | 透過內部限制套件存取

    💬 簡介 在撰寫 Go 專案時,良好的模組封裝與權責分明對於系統的可維護性至關重要。Go 語言提供了一項特別的套件限制機制 —— internal 目錄。 透過 internal 機制,我們可以明確限制某些套件只能被「特定範圍」內的程式碼存取,使內部邏輯不會被外部依賴或誤用,達...

  • Go | 版本控制與模組相容性

    💬 簡介 隨著專案日益複雜,依賴第三方模組已成常態。妥善管理版本與相依性,是確保程式穩定運作的關鍵。 Go Modules 採用 Semantic Versioning(語意化版本) (簡稱 SemVer)做為核心依據,提供一套清晰的升級規則。 本篇將介紹: Go 模組版...

  • Go | 使用模組化系統來管理

    💬 簡介 Go 在 1.11 版之後正式導入模組系統(Go Modules),並自 1.16 起成為預設建置方式。 模組系統提供了穩定的套件管理機制,不再依賴 $GOPATH ,大幅簡化專案依賴的管理流程。 本篇文章將說明: 如何初始化與使用 go mod go...

  • Go | 建立與管理自定義套件

    💬 簡介 在 Go 語言中,透過自定義套件的拆分與組織,可以讓專案結構更加清晰、維護更為容易。 不論是共用邏輯、工具模組、或是大型功能模組化,套件化設計都是不可或缺的能力。 本篇文章將介紹: 如何建立自定義套件 套件檔案的分割與命名 公開(大寫)與私有(小寫)函式的管理...