关于go语言import出现异常的一些问题

Posted 无心大魔王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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插件运行代码所导致,使用命令来运行则没有问题。

 

以上是关于关于go语言import出现异常的一些问题的主要内容,如果未能解决你的问题,请参考以下文章

关于片段生命周期

你知道的Go切片扩容机制可能是错的

Go语言学习之路第8天(异常处理)

Go语言的异常处理之errors,panic, recover

Go语言中异常处理painc()和recover()的用法

Go语言的特性