VScode下golang 同一个包下不同文件之间函数调用问题
VScode下golang 同一个包下不同文件之间函数调用问题
1.问题发现
最近在vscode上学习golang的相关开发,发现这样一个问题:
同文件夹下的两个文件,在都处于main包的情况下,无法在mian()里直接调用另一个文件中的函数,会报错:undefined。
2.原因分析
从语法层面上似乎并无问题,但是Go中main包默认不会加载其他文件, 而其他包都是默认加载的。如果 main 包有多个文件,则在执行的时候需要将其它文件都带上,即执行 go run *.go。
3.问题解决
最简单的办法当然就是都用go run *.go命令执行啦。
那有没有以后都省力一些的呢?
一般来讲,大家用的都是Code runner插件作为运行工具。但是用的时候需要配置以下该插件的settings.json。
由于笔者是小白,所以参考网络上的方案,一共是两个地方需修改。以下列出:
"code-runner.executorMap": {
"go": "cd $dir && go run .", // 替换处1
},
"code-runner.executorMapByGlob": {
"$dir\\*.go": "go" // 替换处2
}
4.注意事项
- 首先,要注意settings.json的更改是改的是用户区还是工作区
- 其次,如果你对settings.json做了更改后发现仍然报错。新建一个文件,将当前文件内容copy过去后删掉原来的,应该就好了。(这个是我自己试出来的,说实话不知道为啥2333)
最后,如果本篇随笔有任何问题,请一定不吝指正!😘
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~