为了账号安全,请及时绑定邮箱和手机立即绑定

如何访问go的主文件中的子目录?

如何访问go的主文件中的子目录?

Go
繁星点点滴滴 2023-03-07 13:57:33
我有一个这样结构的项目--  go.mod--  main.go--  hello.go--  folder1    --  test.go我想从主文件的 test.go 文件访问 hloFunc。package folder1import "fmt"func hloFunc() {    fmt.Println("Hello Function from sub directory")}我不明白导入模块/包是如何工作的。我读过文章,但从未理解任何东西。如果我能深入了解这里实际发生的事情,那将非常有帮助。这是我的 go.mod 文件module testModulego 1.17我可以通过简单地在主文件中写入函数名称来访问 hello.go 文件中的任何函数,但我也想从子目录中访问函数。我怎样才能做到这一点?我应该在我的主文件中更改什么才能实现这一点package mainimport "testModule/folder1/"func main() {    hloFunc()}
查看完整描述

1 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

您的代码有 2 个(至少)问题。第一个问题是main.go. 你应该删除它。

主程序

import "testModule/folder1"

第二个问题是您正试图从另一个包中调用未导出的函数。要解决这个问题,您应该导出它(通过将函数名称的第一个字母更改为大写) test.go

func HloFunc() {
    fmt.Println("Hello Function from sub directory")
}

并使用包名来调用它。

主程序

func main() {
    folder1.Hlofunc()
}


查看完整回答
反对 回复 2023-03-07
  • 1 回答
  • 0 关注
  • 76 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信