GoLand一个目录下多个文件的编译和运行设置
1、目标
当我们对代码进行重构时,部分功能需要单独提取到一个文件中,以此来保持功能的独立化和模块化,方便进行扩展和维护,但是提取出来之后直接编译报错,明明函数存在但是编译时显示找不到函数,包也都是一个main包中,进行了解后发现是需要将一个目录下的go文件进行统一编译运行,于是进行了一番尝试后总结如下。
2、设置方式
- 1、打开运行/调试配置,最主要的是设置运行种类为目录,默认运行种类为当前的单个文件;
- 2、选择运行目录,选择后再编译就是编译该目录下的所有.go文件了;
- 3、输入目录是生成可执行程序的目录;对于交叉编译的可执行程序需要去掉构建后运行的勾选;
- 4、工作目录可执行程序的运行目录,运行目录不是现象中的输出目录,一般是一样的,如果运行可执行程序时部分文件使用了相对路径,那么一定要设置正确工作目录,
相对路径都是基于工作目录的
,这点需要注意一下;
如下图,2020.3汉化后还是比较好理解的:
3、最后
再重新编译就可以了。
对于测试web或者有配置文件的情况下,html文件和配置文件一般都会使用相对路径,因此调试时一定要注意工作目录;
而对于交叉编译,默认构建后是无法执行的,如果进行了nfs文件系统挂载则可以直接设置输出目录到nfs对应的目录,就可以不用一直拷贝调试文件到设备了。