2016-11-22 83 views
1

對於我當前的項目,我正在實現一個代碼(單獨的軟件包)作爲二進制文件的一部分,該軟件包也可以被其他項目(二進制文件)導入,就好像它是一個庫。這種軟件包不是共享庫的一部分的原因是它的功能與上述項目緊密相關。防止第三方軟件包導入

問題是這樣的軟件包提供了兩種實現

  • 一個直接訪問底層數據庫只應在當前項目
  • 另一個與HTTP請求在其他項目中被導入內使用的接口(HTTP請求去當前項目)

我的問題是:有沒有一個機制在Go如何防止包的某些部分或它的子包被導入其他r項目

這幾乎只是一個審美問題,因爲在當前項目之外使用DB訪問實現根本不會工作(拋出錯誤)。

回答

4

是的,你可以使用internal directory

名稱爲「internal」的目錄中或以下的代碼只能由植根於「internal」父級目錄樹中的代碼導入。

+0

完美,謝謝! – shadyyx