当前位置:网站首页>GO开发环境配置
GO开发环境配置
2022-08-03 09:18:00 【m0_67394230】
要开始go语言的学习,首先要配置好go的开发环境。windows+vscode2019插件
第一步:下载sdk
可以去golang中国下载
根据自己的系统选择对应的下载 我的是选择最后一个
下载好后 安装在一个较简单的目录下(好像不能有中文) 按照提示一路点击即可
安装完成后打开命令行cmd 进入到安装目录下的bin目录 输入以下指令
go version
当出现版本号说明安装成功:
第二步:配置环境变量
打开我的电脑找到属性里面的环境变量配置
或者在设置里直接搜索环境变量
GOROOT为下载的go包目录位置 里面存放着go源码及API
新建GOROOT
GOPATH为工作目录 存放着自己写的go代码
当不使用Go mod管理时依赖包(如Google/grpc)也需加入到GOPATH管理(;附加也可)
不使用go mod 管理的话会默认去GOPATH的src下找
新建配置GOPATH(用户变量和系统变量都有)
PATH为go的可执行文件目录 即GOROOT的bin目录 例如go env go build fmt
新建配置PATH(系统变量)
配置好后打开cmd输入查看环境变量
go env
当GOPATH变成配置的环境变量
测试是否配置成功(配置好要重新打开cmd)
在其他目录(根目录)下输入go version和go env 可以看到对应的输出代表配置成功
第三步:vscode配置
在vscode中下载go的扩展
VsCode Go插件依赖的工具
接下来 安装Go插件所依赖的go tools
按ctrl+shift+p 调出命令面板,输入go install tools 选Go: Install/Update Tools
如下:
点击后我直接全选全部安装
如果安装失败尝试替换代理
go env -w GOPROXY=https://goproxy.cn
安装完成后 已经有代码提示及自动导包
环境测试
一:不使用go mod管理
先创建go文件存放路径 我的路径如下
D:goprojectsrcgocodeproject01main
使用vscode打开文件夹
在main下新建一个文件hello.go (go语言有包的概念 好像是每个文件都要属于一个包)
打出经典代码
package main
import "fmt"
func main() {
fmt.Println("hello,world!")
}
这里如果 GOROOT(源码) 和GOPATH(工作目录) PATH三个环境变量没有问题可以正常编译通过
二:使用go mod
go mod是go高版本之后出现的包管理工具,要么使用默认包管理,要么使用go mod,不能同时使用
当使用了go mod时下载的依赖在GOROOT的pkg的mod下管理
使用 go env 命令 查看
GO111MODULE=off 是没有开启
1:开启go modules功能,命令行输入
go env -w GO111MODULE=on
初始化mod管理模块(进入到项目目录下 xxx为项目名称)
go mod init xxx //xxx代表当前文件夹名
go mod相关
//初始化模块:
Go mod init <项目模块名称>
//依赖关系处理,根据go.mod文件
Go mod tidy
//将依赖包复制到项目的vendor目录
Go mod vendor
//显示依赖关系
Go list -m all
//显示详细依赖关系
Go list -m -json all
//下载依赖
Go mod download [[email protected]]
可以发现出现mod
使用go env查看环境查看是否设置成功
然后开始编译输出
很好,hello world 成功输出,go语言学习成功,不对,环境变量配置成功。
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- MySQL2
- 别人都不知道的“好用”网站,让你的效率飞快
- 015-平衡二叉树(一)
- flush tables
- MySQL 主从切换步骤
- When deleting a folder, the error "Error ox80070091: The directory is not empty" is reported. How to solve it?
- 2022最新整理软件测试常见面试题附答案
- Does setting the following sysctl settings require a system reboot?
- English Grammar - Adverbial Clauses
- MySQL的分页你还在使劲的limit?
猜你喜欢
Rabbit and Falcon are all covered, Go lang1.18 introductory and refined tutorial, from Bai Ding to Hongru, the whole platform (Sublime 4) Go lang development environment to build EP00
pytorch one-hot tips
MySQL 免安装版的下载与配置教程
浅聊缓存函数
SAP Analytics Cloud 和 SAP Cloud for Customer 两款 SaaS 软件的集成
Qt 下拉复选框(MultiSelectComboBox)(一) 实现下拉框多选,搜索下拉框内容
pytorch one-hot 小技巧
MySQL-TCL语言-transaction control language事务控制语言
redis实现分布式锁的原理
English Grammar - Adverbial Clauses
随机推荐
行业 SaaS 微服务稳定性保障实战
多媒体数据处理实验3:图像特征提取与检索
chrome F12 network 保留之前请求信息
cnpm安装步骤
dflow入门3——dpdispatcher插件
MySQL 免安装版的下载与配置教程
Redis集群概念与搭建
10 Convolutional Neural Networks for Deep Learning 2
pytorch one-hot tips
Automated test browser driver download version
Machine learning (formula derivation and code implementation)--sklearn machine learning library
Network LSTM both short-term and long-term memory
合并两个有序链表
【LeetCode】226.翻转二叉树
【LeetCode】老虎证券面试-括号嵌套且满足优先级
scala reduce、reduceLeft 、reduceRight 、fold、foldLeft 、foldRight
unity的game界面里有canvas的线框?如何隐藏掉?
关于Unity自定义Inspector面板的一些自定义编辑器扩展
mysql的union和union all
文章列表的显示 以及创建文章 还有文章详情的基本