問題:
用戶從其應用程式中的單獨包導入類型時遇到問題轉到項目結構。即使在函數宣告中使用了類型,導入語句也會導致有關未使用的導入或未定義類型的警告。
專案結構:
src |-- config |-- config.go |-- otherPackage |-- otherFile.go |-- main.go
導入嘗試:
import ( "fmt" "math" "../config" )
錯誤:
原因:
由於導入語法不正確而出現問題。在 Go 中,無法從套件中匯入特定類型或函數。只能導入整個包。
解:
要解決此問題,需要修改 import 語句如下:
import ( "fmt" "math" "full/import/path/of/config" )
套件和類型引用:
由於導入了整個包,因此必須使用其完全限定名稱來引用類型:
func function(... config.Config) {}
變數遮蔽:
如果在目前作用域中宣告了與匯入的套件同名的變量,它將遮蔽該套件。為了避免這種情況,請將變數重新命名為其他名稱,例如:
func function(... config.Config) {} var cfg config.Config
以上是為什麼我無法在 Go 中匯入特定類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!