登录
首页 >  Golang >  Go问答

无法在不同文件夹中找到函数

来源:stackoverflow

时间:2024-03-14 11:18:27 401浏览 收藏

golang学习网今天将给大家带来《无法在不同文件夹中找到函数》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

我只有一个包 main,但我正在构建多个二进制文件:

--cmd
   --program1 
     --main.go
   --program2
     --main.go
--xxx.go
--yyy.go
--zzz.go

我想在program1/main.go中调用xxx.go中的函数。编译者说undeclared name:

我认为我不应该导入该函数,因为它们都位于同一个包 main 下。


解决方案


要做你想做的事,你需要将文件 xxx.go、yyy.go 和 zzz.go 放入内部包中。

这是您应该拥有的目录布局:

--cmd
   --program1 
     --main.go
   --program2
     --main.go
--internal
   --shared
      --xxx.go
      --yyy.go
      --zzz.go

在文件 xxx.go、yyy.go 和 zzz.go 中,您应该在文件开头有 package shared

在文件 main.go 中,您应该有 import "../../internal/shared"。如果您有一个具有完全限定模块名称的 go.mod 文件(例如 github.com/me/project),则可以使用 import "github.com/me/project/internal/shared"

一旦你有了这个,你就可以从程序的主文件中的 xxx.go 文件中调用共享包的导出函数。请注意,当函数名称的第一个字母为大写字母时,函数将被导出。

终于介绍完啦!小伙伴们,这篇关于《无法在不同文件夹中找到函数》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>