首页 >后端开发 >Golang >为什么我无法在 Go 中导入特定类型?

为什么我无法在 Go 中导入特定类型?

Susan Sarandon
Susan Sarandon原创
2024-11-14 22:24:02298浏览

Why Can't I Import a Specific Type in Go?

导入包和类型

问题:

用户从其应用程序中的单独包导入类型时遇到问题转到项目结构。即使在函数声明中使用了类型,导入语句也会导致有关未使用的导入或未定义类型的警告。

项目结构:

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn