我是新手,我一直在努力了解有關文件結構和包的最佳實踐。根據我的閱讀,該internal文件夾包含客戶端無法使用的pkg代碼,并且該文件夾包含可以在外部使用的代碼。假設我有一個資源,它有一些內部實現,也有一些可以在外部使用的功能。我會像這樣在兩個文件夾下放同名的包嗎?- my-app
- pkg
- accounts
- accounts.go (package accounts)
- internal
- accounts
- accounts.go (package accounts)然后當我導入時指定"app/my-app/internal/accounts"或"app/my-app/pkg/accounts"取決于我要導入的模塊?如何處理同名的內部和外部包?
1 回答

慕村225694
TA貢獻1880條經驗 獲得超4個贊
外部可導入的包可以在文件夾以外的任何文件internal
夾中。沒有要求也沒有廣泛同意這些包應該放在一個pkg
文件夾中。
應用程序可以通過在導入規范中指定包名來解決同名包之間的沖突:
import ( iaccounts "my-app/internal/accounts" accounts "my-app/accounts" )
用于iaccounts
指代內部包和accounts
指代常規包。
- 1 回答
- 0 關注
- 188 瀏覽
添加回答
舉報
0/150
提交
取消