导入包和类型
问题:
在以下项目结构中:
src |-->config |--> config.go |-->otherPackage |--> otherFile.go |-->main.go
config.go 中定义了一个类型,需要在 otherFile.go 中使用。但是,尝试使用以下语句导入它会导致错误:
import ( "fmt" "math" "../config" )
具体错误是:
即使函数中使用了 Config 类型
根本问题是什么?
答案:
问题源于尝试从包中仅导入特定类型。在 Go 中,不可能从包中导入特定元素。导入一个包时,实际上是导入它的全部内容。
在这种情况下,由于定义 Config 类型的包名为 config,导入它将使它的类型和其他标识符在 config 命名空间下可用。例如,要使用 Config,必须将其引用为 config.Config。
因此,要解决该问题,可以采用以下解决方案之一:
以上是为什么在 Go 中导入特定类型时出现'已导入但未使用”和'未定义”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!