首页 > 后端开发 > Golang > 正文

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

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

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板