go导包失败

Posted CodeWater

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go导包失败相关的知识,希望对你有一定的参考价值。

todo: go导包的机制。。。。。迷惑,不知道怎么就解决了。

目录结构如下:

在entry中main函数使用node的treenode结构体,一直失败,
导包语句:

import (
	"fmt"
	"learngo/object/tree"
)

解决

  1. 在项目下使用go mod init 项目名,生成的module居然是项目名。。。???然后import的时候开始地址也是这里的module名!!!

  2. go mod tidy看有没有报错(一直报错:$GOPATH/go.mod exists but should not 。 但是能够运行程序)

另外goland几个设置影响的:

这里开了之后才会有项目库依赖!!!

node文件包名如果改成tree1(跟文件夹名字不一样的话),那么在entry文件导包的时候就需要变成tree1 "learngo/object/tree",加一个tree1别名才能生效。。。。

VSCode 安装 Go 插件依赖失败

在 VSCode 安装完 Go 插件之后,需要安装 Go 相关的依赖。但是由于国内众所周知的网络问题,一些 golang.org 的包无法正常下载。这个时候我们需要手动从 Github 下载,再更新 Go 插件的依赖。

首先,在命令行确认你配置好了 GOPATHGOPROXY(如果没有就要配置环境变量),比如我的 Go 版本为 1.13.3,GOPATH$HOME/go 目录,GOPROXYhttps://goproxy.cn

go env

然后,在你的系统里切换到 GOPATH 下的 go/src/golang.org/x 目录(如果没有这些目录就全部新建),手动下载下面的包

git clone git@github.com:golang/tools.git
git clone git@github.com:golang/crypto.git
git clone git@github.com:golang/lint.git
git clone git@github.com:golang/xerrors.git
git clone git@github.com:golang/sync.git

最后,在 VSCode 用 F1 或 ctrl+shift+p 打开命令面板,搜索 Go: Install/Update Tools,用这个命令来更新插件的依赖,如果安装完没报错就成功了。

以上是关于go导包失败的主要内容,如果未能解决你的问题,请参考以下文章

vscode 自定义导包失败问题

eclipse使用单元测试JUnit时,提示导包失败“The type org.junit.jupiter.api.Assertions is not accessible”?

Flask 安装第三方库 ImportError: No module named flask 导包失败,Python3重新安装Flask模块

记一次Python导包经历

Go 代码记录

一般情况下(utf-8编码)的go爬虫