VScode 中编译多个Go文件

在使用VScode编译Go项目时遇到找不到自定义包或函数的问题,即使GOPATH和GOROOT设置正确。通过`go mod init`和`go mod tidy`命令初始化和整理模块,解决了编译错误,使得可以直接编译main.go来运行程序,避免了手动指定每个.go文件的不便。这对于Go初学者来说是个常见的环境配置困扰。
摘要由CSDN通过智能技术生成

         在使用VScode编译多个go文件多次遇到过一个问题:无法找到对应的函数。具体提示在好像是:GOPATHGOROOT路径中都没有找到该package或者该函数。但是实际上,这个函数所在的go文件就在我的工作空间。 这里简单记录下来。

        举个很简单的例子:src目录下有个main.go文件, 引用了当前目录下myTools文件夹中的Add函数:

 其中

❇️main.go的实现如下:

package main

import (
	"fmt"
	"myTools"
)

func main() {
	sum := myTools.Add(1, 2)
	fmt.Println(sum)
}

 ❇️myTools目录下的add.go实现如下:

package myTools

func Add(a, b int) int {
	return a + b
}

但是在编译时,提示找不到myTools或者Add函数之类的。我确认环境变量,包括GOPATH, GOROOT没有什么问题,但是依然提示类似错误。

我最初认为必须将自己写的这部分go文件放到go的安装路径下,这样虽然能解决问题,但是工程不太好管理呀;还会将自己的代码与源码混在一起,污染源码,于情于理都不合适。当时也查过相关资料,网络好几篇都说将这两个同时编译即可:

go build main.go myTools/add.go

这个确实可以,但是在不同目录时无法编译😂😂😂。我也没有研究这个问题,但是感觉也不方便,如果需要挨个指定要编译的文件,那岂不是又要写一个类似makefile的文件吗???

后来,一个偶然的机会,他可以了

 我回想了下,刚才做过的操作:

🤨 go mod init

🤨 go mod tidy

之后,便可以通过直接编译main.go来运行程序了,不再需要指定编译哪些.go文件,非常的方便。如果有人也遇到类似的问题,可以这样试一下,希望能解决这样的问题。

特别说明:

         我目前对Go语言正处于学习阶段,感觉遇到问题比较多的就是:环境配置问题。各种安装失败、编译出错,VScode无法追踪代码等等奇形怪状的问题,这里权当做记录了。同时希望对于后面遇到此类问题的同学,能够快速解决此类问题。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值