Go最新版安装包的下载(Go官网):https://studygolang.com/dl
Windows
和MacOS
的安装比较简单,双击打开安装包,一直点击next
就可以安装成功。
Linux
下的安装,将下载的Linux
安装包中的go
文件夹,解压到/usr/local
路径即可。
在控制台输入go version
,如果显示了版本号,即代表安装成功。
安装成功后,必须要配置环境变量。
(1) windows环境变量的配置:
windows
环境下,go
安装包安装成功后,会自动将go
添加到path
目录下,所以不需要再向Path
环境变量中添加go
GOROOT
设置:Go
安装路径
“我的电脑”=》“属性”=》“高级系统设置”=》“环境变量”=》“系统环境变量”,新增GOROOT
环境变量,如下图
GOPATH设置:
删除用户变量中的GOPATH
设置,这个是go
安装包默认添加的工作目录,一般不使用。
新建Go
工作环境目录Go_Works
,并在此目录下创建src
,pkg
,bin
三个子目录。
新增GOPATH
环境变量指向Go
工作环境目录Go_Works
,如下图
(2) 打开GoMOD,配置代理
在这里感谢「七牛云」为我们中国区的Golang开发者提供的代理服务
打开cmd命令窗,分别运行:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
OK! 完成上述两步,我们打开vscode
,插件都可以直接在vscode
中直接下载了
(3) 在VSCode中安装Go插件
进入Extensions
后直接搜索go
,即可安装
(4) 创建文件
在$GOPATH/src
目录下,创建hello/hello.go
文件,使用vscode
打开。
注意:$GOPATH
是我们刚刚配置的环境变量。比如上面配置的环境变量位置为D:\Program Files\Go_Works
,即$GOPATH
就是指D:\Program Files\Go_Works
这个路径。
举例:那么$GOPATH/src
就是指D:\Program Files\Go_Works/src
目录
在安装了Go
插件后的vscode
,现在打开go
文件后,会自动安装我们自己的必要的环境依赖
(5) Go Modules的使用
Go mod
是官方强推,为了替代GOPATH
而诞生的一个Go
语言依赖库管理器。之前所有的包都丢在GOPATH
中,而Go mod
最大的好处就是我们依赖的包可以指定版本。而且所有程序依赖的包,只会存在同一份。不会像npm
那样,同一个包还能有n多个存在。这样我们的电脑就很省空间了
常用命令为
go mod tidy
通俗来说就是将当前的库源码文件所依赖的包,全部安装并记录下来,多的包就删掉,少了的就自动补上
(6) 实例 *** 作
进入我们的hello
文件夹,并且执行go mod init
即可
cd $GOPATH/src/hello
go mod init
当前文件夹下生成了go.mod
文件和go.sum
文件
go.mod
文件是记录我们依赖库以及版本号
此时我们这个hello
项目,就采用了go mod
进行库依赖管理,以后编写完代码后执行go mod tidy
即可,这个命令会自动下载依赖的库,也会删除多余的库
更多的使用方式可以执行go help mod
进行查看
vscode
的launch.json
配置以及setting.json
配置
首先是launch.json
的Debug
配置内容
{
"version": "0.2.0",
"configurations": [{
"name": "LaunchGo",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}",
"env": {
// xxx.go脚本的路径为E:/Study_self/go_lesson/src/hello/xxx.go
// 修改"GOPATH": "E:/Study_self/go_lesson",
// 在xxx.go脚本目录下运行go mod init hello
"GOPATH": "D:/Program Files/Go_Works",
"GOROOT": "D:/Program Files/Go"
},
"args": [],
//"showLog": true
}
]
}
以下是setting.json
的最新配置,因为我这个配置同时存在了一些别的组件,比如golangci-lint
这种go语言风格包以及别的组件,所以复制到你们的vscode
中时,有些配置会出现红色异常
将出现红色异常的地方直接删除或者注释即可。之所以保留给你们,是觉得你们可能有些人也会安装相关插件使用
{
"editor.wordWrap": "on",
// 如果useLanguageServer设为true,那么在编写代码时引入本地没有的package时,会自动下载安装
// 就是有时候会非常卡,保存go的编码文件时偶尔会卡死。这点你们自己取舍吧
"go.useLanguageServer": false,
"editor.minimap.renderCharacters": false,
"editor.minimap.enabled": false,
"terminal.external.osxExec": "iTerm.app",
"go.docsTool": "gogetdoc",
"go.testFlags": ["-v","-count=1"],
"go.buildTags": "",
"go.buildFlags": [],
"go.lintFlags": [],
"go.vetFlags": [],
"go.coverOnSave": false,
"go.useCodeSnippetsOnFunctionSuggest": false,
"go.formatTool": "goreturns",
"go.gocodeAutoBuild": false,
"go.goroot": "D:/Program Files/Go",
"go.gopath": "D:/Program Files/Go_Works",
"go.autocompleteUnimportedPackages": true,
"go.formatOnSave": true,
"window.zoomLevel": 0,
"debug.console.fontSize": 16,
"debug.console.lineHeight": 30,
}
致谢:https://www.jb51.net/article/186294.htm
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)