以下是我创建的存放go相关数据的文件夹:
1. 添加环境变量
添加环境变量:GOPATH
2. 配置Go 模块代理
作用:用于使 Go 在后续拉取模块版本时能够脱离传统的 VCS 方式从镜像站点快速拉取。
参考地址:https://github.com/goproxy/goproxy.cn/blob/master/README.zh-CN.md
windows执行如下命令即可:
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct
3. 使用gomod包管理
- 在src目录下新建一个项目名为:study_go
- cd到study_go目录下,执行
go mod init
4. VsCode提示需要安装的包,直接点击install即可,安装完之后就有代码提示了!
扩展:
gomod 和 gopath 两个包管理方案(个人理解)
- gopath 指的是在go安装包的src下进行开发,不需要安装依赖包;
- gomod 是自己新建出来的目录,但是需要在环境变量中添加
GOPATH
,需要重新安装依赖包;
install包时会有如下报错,但是并不会影响包的安装
安装gopls
的时候报错:
Failed while handling ‘onDidOpenTextDocument’: EntryNotFound (FileSystemError): 无法读取文件’f:\Go\pkg\mod\go.mod’ (Error: 无法解析不存在的文件 ‘f:\Go\pkg\mod\go.mod’)
Failed while handling ‘FileSystemWatcher.onDidCreate’: EntryNotFound (FileSystemError): 无法读取文件’f:\Go\pkg\mod\go.mod’ (Error: 无法解析不存在的文件 ‘f:\Go\pkg\mod\go.mod’)
把stydy_go目录下生成的go.mod复制到了f:\Go\pkg\mod\目录下,
安装goimports
,没有报错了;
安装go-outline
,有如下报错:
Failed while handling ‘FileSystemWatcher.onDidCreate’: Error: Assertion Failed: argument is undefined or null
有大佬知道这是为什么吗?
这里对安装的依赖包并没有影响…可以使用了~