📄️ 概述 Overview
此專案目錄規劃適用於Golang1.21之後的版本,若你的專案是使用其他語言或更早版本撰寫的話,這個指南就參考一下就好,畢竟孟母它兒子曾經說過:『盡信書,則不如無書。 吾於武成,取二三策而已矣』。
📄️ 主函式 Main
在一般程式開發中,我們通常使用main()作為程式的進入點 entrypoint,透過在主函數內部配置各個業務模組的啟動參數,直覺且方便的啟動服務。但在後端應用的開發中,則不建議這麼做,因為一個專案可能會有多種組態及功能,舉例來說,為了讓服務的儲存功能能夠啟動,我們為需要Migrator來建立\遷移 資料表,並且可能需要透過Seeder來寫入初始資料,才能讓服務正常的運作,若要在主函式內配置所有的參數,則會容易會使其顯得其臃腫且難以閱讀。
📄️ 指令集 Command
承自上一章節,為了方便讓專案運行不同性質的需求,我們須要將不同的組態封裝成啟動指令以利調用。在這邊會使用Cobra做示範,Cobra截至2026/01為止,仍是golang最主流的CLI封裝工具,以下代碼是某套系統遷移資料庫表的指令封裝:
🗃️ 基礎設施 infrastructure
2 個項目
🗃️ 共用函式庫
3 個項目