首頁 > 後端開發 > Golang > 如何跨多個目錄組織 Go 套件而不出現匯入錯誤?

如何跨多個目錄組織 Go 套件而不出現匯入錯誤?

Barbara Streisand
發布: 2024-12-31 17:11:18
原創
873 人瀏覽過

How Can I Organize a Go Package Across Multiple Directories Without Import Errors?

Go 套件的多個來源目錄

在Go 中,開發具有多個來源目錄的套件可能具有挑戰性,尤其是當您想要組織時您的程式碼結構,同時保持使用者易於匯入。

雖然在跨多個來源檔案中聲明相同的套件名稱似乎很自然不同的目錄,不推薦這種方式。根據 Go 語言規範,實作可能要求套件的所有原始檔案都位於同一目錄中。嘗試從同一個套件匯入多個目錄將導致錯誤:

error: redefinition of ‘mypackage’
登入後複製

Go 提供了幾個替代方案,而不是聲明多個來源目錄:

  1. 重新命名檔案名稱:建立檔案名稱以模仿資料夾層次結構。而不是:

    foo/foo1.go
    foo/bar/bar1.go
    foo/bar/bar2.go
    登入後複製

    使用:

    foo/foo1.go
    foo/bar-bar1.go
    foo/bar-bar2.go
    登入後複製
  2. 考慮包裝拆分:如果您的包裝變得太大,請考慮將其分解為多個較小的包包。這可以降低依賴關係的複雜性和可維護性。
  3. 內部套件:Go 1.5 中引入的內部套件可讓您將相關檔案分組到子目錄中,而無需在套件外部存取它們。這可以幫助組織你的程式碼庫並控制可見性。

總而言之,不建議跨多個來源目錄開發 Go 套件。建議的方法包括重新命名檔案名稱、拆分包或利用內部包。這些替代方案使您能夠有效地組織程式碼,同時確保正確的套件匯入和可見性。

以上是如何跨多個目錄組織 Go 套件而不出現匯入錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板