问题:
用户从其应用程序中的单独包导入类型时遇到问题转到项目结构。即使在函数声明中使用了类型,导入语句也会导致有关未使用的导入或未定义类型的警告。
项目结构:
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中文网其他相关文章!