Go语言:同个包下不同文件不能互相调用函数

问题描述


- 在同个文件夹下,声明了相同的package仍旧报错

Go语言:同个包下不同文件不能互相调用函数

这个时候我是很蒙圈的,经过查阅资料大多是说没有配置GO_PATH或者GO_PATH导致。
但是按理说Go 一个目录为一个包, 包里面的函数、类型、 变量,、常量, 这个包中所有文件里的代码都可以随意访问, 也不需要首字母大写才对


  • 目录结构
    Go语言:同个包下不同文件不能互相调用函数


  • 问题关键和解决方法

其实原因追究到最后不是路径问题,毕竟我们已经将文件放置到了同一目录下。而是编译问题!
Go语言:同个包下不同文件不能互相调用函数

在运行的时候不能认为你去跑main然后IDE会将你需要的所有文件都编译,所以这个时候我们需要动手改下命令行来运行:

go run cmd.go main.go


  • 运行结果

Go语言:同个包下不同文件不能互相调用函数

从此就再没有报错,并生成了一个可执行文件,马克一下~~