如何在Goland中正确阅读Go语言源码?
解决方案
- 修改项目级GOROOT配置
打开GoLand设置(Windows/Linux路径:File -> Settings,Mac路径:GoLand -> Settings),依次进入Go -> GOROOT配置页,点击+按钮选择你从GitHub下载的Go语言源码根目录,将其设置为当前项目的专属GOROOT,替换默认的全局GOROOT即可让IDE优先从当前源码目录查找runtime等标准库包,这是优先级最高的解决方案。 - 清理IDE缓存重建索引
修改GOROOT后如果依然存在路径识别报错,大概率是IDE缓存异常导致,点击菜单栏File -> Invalidate Caches...,勾选Clear file system cache and local history后点击Invalidate and Restart,等待IDE重启完成索引重建即可解决。 - 运行/调试配置单独指定GOROOT
如果你不想修改全局或项目级GOROOT,可单独调整运行配置:打开Run -> Edit Configurations,找到对应运行项的Environment配置栏,添加环境变量GOROOT=你的Go源码根目录绝对路径,运行/调试时会优先使用该路径下的标准库文件。 - go.mod强制路径映射(备选方案)
如果你是对Go标准库做二次开发,可在项目的go.mod文件(如不存在可执行go mod init生成)中添加replace指令强制映射路径:
该方案仅对当前Go模块生效,不会影响其他项目配置,但IDE对标准库的语法补全支持不如修改GOROOT的方案完整,仅推荐临时测试使用。replace runtime => /你的Go源码根目录绝对路径/src/runtime
内容的提问来源于stack exchange,提问作者GOD BE WITH ME
相关产品推荐
相关产品推荐

