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

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

Susan Sarandon
发布: 2024-11-14 22:24:02
原创
285 人浏览过

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板