
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条)