温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

golang中package is not in GOROOT报错如何解决

发布时间:2023-03-17 10:27:40 来源:亿速云 阅读:271 作者:iii 栏目:开发技术

这篇文章主要讲解了“golang中package is not in GOROOT报错如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“golang中package is not in GOROOT报错如何解决”吧!

运行go中本地包的时候如果出现这个报错,网上很多说是需要修改GO111MODULE=on, 但是对于我来说都没用, 最后发现是因为命名导致的。 记录如下。

为了表示各个文件名和路径之间的无关联性,我尽量把命名随意化和多样化。

首先在桌面上建立一个文件夹aaa

在文件夹里运行下面的命令生成mod文件

go mod init aaa

注意:这里的aaa和文件夹的名字aaa必须要一致。

然后在aaa根目录里创建文件bbb.go作为主程序入口文件,里面的包名必须是main。

然后在aaa根目录创建子目录这里我命名为ccc,里面创建一个文件叫eee.go,包名可以叫ddd。 在vscode里展示如图下所示。

golang中package is not in GOROOT报错如何解决

golang中package is not in GOROOT报错如何解决

然后在aaa的根目录打开命令窗口, 运行go run bbb.go就会成功调用到子包里面的方法。

为了不报错,这里有几个重点

第一,根目录文件夹名称xxx和go mod init xxx 必须要一致。

第二,主文件中import的是子包的目录路径,不能写子包的文件名或者包名。

第三,调用子包的方法的时候, 前缀必须是子包的包名(package名),和路径或者文件名无关。

感谢各位的阅读,以上就是“golang中package is not in GOROOT报错如何解决”的内容了,经过本文的学习后,相信大家对golang中package is not in GOROOT报错如何解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI