关于go语言import出现异常的一些问题
最近开始关注go语言这一块,感觉还是下手晚了。
按道理讲,本来以为学习起来会比较顺利,毕竟积累了一些其他语言的知识,但是没有想到还是出现了一些奇奇怪怪的问题。
今天本来想尝试一下go语言中公有和私有的方法,结果import其他包的时候直接报错了,当时没截图,错误的大意就是在goroot中找不到这个包、在gopath中也找不到这个包... ...
找了N长时间,调到心态崩溃,最终反正能用了,后续有没有问题还需要慢慢探索。
win10系统+vscode,有使用相同环境的小伙伴可以参考一下:
首先,你需要配置一个正确的gopath,这个东西貌似就是go语言的工作目录,在磁盘上创建一个文件夹作为这个目录,在目录中创建文件夹src,这个src文件夹是用于存放源代码的。
配置gopath的方式比较简单,直接在环境变量中配置即可:
在‘此电脑’图标上右键,点击属性。
弹出的界面中点击如图所示的选项,然后点击环境变量。在用户变量中配置即可,就不截图了,这一步应该比较好懂。
第二步,将go111module的属性改为on:
在cmd窗口中输入命令go env,可以查看一些go的属性,比如gopath、goroot等等,其中go111module默认应该是空的(反正我默认是空的)。
配置的方法比较简单:go env -w GO111MODULE=on 输入这条命令即可。
第三步,创建go.mod文件,查了一下go.mod是golang的包管理工具,我是在gopath的src下创建的这个文件,创建方式比较简单:
cmd进入该目录,输入go mod init word,此处的word是可以自定义的。
我输入的是go mod init word,然后src下会生成一个名为go.mod的文件:
里面就长这样,很简单。引入其他包的时候,采用test/包名的方式引入。
配置完以上三步之后,我的vscode依然报错,上网查了一下,需要在settings.json中加入如下配置:
"gopls": { "experimentalWorkspaceModule": true }
做完以上四步后,发现依然报错,由于使用了code runner插件运行代码所导致,使用命令来运行则没有问题。