如何在VScode 中编译多个Go文件
在使用VScode编译多个go文件多次遇到过一个问题:无法找到对应的函数。具体提示在好像是:在GOPATH和GOROOT路径中都没有找到该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无法追踪代码等等奇形怪状的问题,这里权当做记录了。同时希望对于后面遇到此类问题的同学,能够快速解决此类问题。
关于VScode 中编译多个Go文件的文章就介绍至此,更多相关VScode 编译Go文件内容请搜索编程宝库以前的文章,希望大家多多支持编程宝库!
Slice(切片)切片和数组类似,可以把它理解为动态数组。切片是基于数组实现的,它的底层就是一个数组。对数组任意分隔,就可以得到一个切片。现在我们通过一个例子来更好地理解它,同样还是基于前面的 arr ...