首页 > 后端开发 > Golang > 为什么我的函数在单独的 Go 包中未定义?

为什么我的函数在单独的 Go 包中未定义?

DDD
发布: 2024-12-16 06:51:10
原创
650 人浏览过

Why is my function in a separate Go package undefined?

单独包中的函数未定义

在给定的代码结构中,单独的 lib.go 文件中定义的函数未被识别为已定义当从 main.go 文件调用时。让我们探讨这个问题并找到解决方案。

尝试使用 go build main.go 编译 main.go 时,遇到错误“undefined: Test”。这是因为 Test 函数是在 lib.go 中定义的,而 lib.go 与 main.go 位于不同的包(名为“main”)中。

在 Go 中,包是独立的命名空间,函数定义在一个包中如果没有显式导入,则无法直接由另一个包中的函数访问。要解决此问题,您可以执行以下任一操作:

  • 使用更具体的导入语句:在 main.go 中,通过添加 import "packagetest/ 来导入 lib 包lib”位于文件开头。
  • 使用完整的包路径: 在 main.go 中,将 Test() 替换为packagetest.lib.Test() 显式指示定义 Test 函数的完整包路径。
  • 构建整个项目: 而不是 go build main.go,运行 go build at项目根目录以构建所有必需的文件。这将允许编译器找到并导入 lib.go 文件。

以上是为什么我的函数在单独的 Go 包中未定义?的详细内容。更多信息请关注PHP中文网其他相关文章!

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