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

慕村225694
TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊
Go 命令文檔和本設(shè)計(jì)文檔中描述了內(nèi)部包。
外部可導(dǎo)入的包可以在文件夾以外的任何文件internal
夾中。沒有要求也沒有廣泛同意這些包應(yīng)該放在一個(gè)pkg
文件夾中。
應(yīng)用程序可以通過在導(dǎo)入規(guī)范中指定包名來解決同名包之間的沖突:
import ( iaccounts "my-app/internal/accounts" accounts "my-app/accounts" )
用于iaccounts
指代內(nèi)部包和accounts
指代常規(guī)包。
- 1 回答
- 0 關(guān)注
- 195 瀏覽
添加回答
舉報(bào)
0/150
提交
取消