Bootstrap

Go编程中出错记录

delve安装失败:vscode中查看版本与cmd查看的版本是不一致的

windows系统,在配置delve时报错:compile: version "go1.18.1" does not match go tool version "go1.17.2"
因此查看版本时发现,如下边两图所示,go version得到的版本号是不一致的。
在这里插入图片描述
在这里插入图片描述
在cmd中,输入where go,发现和GOROOT不同的位置还装了Go。
在这里插入图片描述
果断删除另外Go的位置,在cmd里再次查看版本,就是一致的了,再次安装delve试试。
因为终端上输入dlv version时一直是没有安装成功的样子,如下图:
在这里插入图片描述

然后发现GOPATH/bin中是存在dlv.exe的,说明应该是安装成功了的,为什么不能调用dlv呢?在系统环境变量中发现,PATH中之加入了GOROOT/bin,所以再加上GOPATH/bin,就可以了。

go test报错 go.mod file not found in current directory or any parent directory; see ‘go help modules‘

先放结论:新建项目后,执行go mod init 项目名命令,需要在当前项目文件夹下创建一个go.mod文件。

问题描述:
新建了一个项目,编写了测试函数后,在终端输入go test得到报错:

go.mod file not found in current directory or any parent directory; see 'go help modules'

设置环境变量GO111MODULE为off后,就可以正常运行了,但如果设置为on,依旧报错。
原因如下:如果开启依赖管理go module模式,go会使用module,就不会去GOPATH目录下找依赖的包了。

Gopath和Go Module的优缺点对比,可参考以下链接:

https://www.cnblogs.com/ssgeek/p/14843476.html

;