主函式 Main
在一般程式開發中,我們通常使用main()作為程式的進入點 entrypoint,透過在主函數內部配置各個業務模組的啟動參數,直覺且方便的啟動服務。但在後端應用的開發中,則不建議這麼做,因為一個專案可能會有多種組態及功能,舉例來說,為了讓服務的儲存功能能夠啟動,我們為需要Migrator來建立\遷移 資料表,並且可能需要透過Seeder來寫入初始資料,才能讓服務正常的運作,若要在主函式內配置所有的參數,則會容易會使其顯得其臃腫且難以閱讀。
因此我們會使用如Cobra等命令列介面(Command-line interface)工具,將不同的功能及組態封裝成指令,而在主函式內部中僅負責將指令註冊,以利開發人員區分不同功能的進入點,並且使用者也能根據不同的情境撰寫指令,提升整體易用性。
