当前位置:网站首页>GO开发环境配置
GO开发环境配置
2022-08-02 00:19:00 【m0_67401499】
要开始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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- Microsoft PC Manager V2.1 beta version officially released
- Multidimensional Correlation Time Series Modeling Method Based on Screening Partial Least Squares Regression of Correlation Variables
- PowerBI商学院佐罗BI真经连续剧
- 如何期货开户和选择期货公司?
- JS中localStorage和sessionStorage
- 使用jOOQ将Oracle风格的隐式连接自动转换为ANSI JOIN
- 简单工厂模式
- Redis和MySQL数据一致性问题,有没有好的解决方案?
- c语言字符和字符串函数总结(二)
- go笔记之——goroutine
猜你喜欢

Knowing the inorder traversal of the array and the preorder traversal of the array, return the postorder history array

Day11 shell脚本基础知识

MLX90640 红外热成像仪测温模块开发笔记(完整版)

DOA从一维阵列传感说起

PHP to read data from TXT file

测试点等同于测试用例吗

c语言字符和字符串函数总结(二)

What is Low-Code?What scenarios is low code suitable for?

C语言函数详解(1)【库函数与自定义函数】

Maxwell 一款简单易上手的实时抓取Mysql数据的软件
随机推荐
2022/08/01 Study Notes (day21) Generics and Enums
22.卷积神经网络实战-Lenet5
理解分布式系统中的缓存架构(下)
Kunpeng compile and debug plug-in actual combat
MLX90640 红外热成像仪测温传感器模块开发笔记(十) 成果展示-红眼睛相机
460. LFU cache
Don't concatenate strings with jOOQ
DFS详解
简单工厂模式
BGP first experiment
C语言实验九 函数(一)
GateWay实现负载均衡
IDEA找不到Database解决方法
Constructor, this keyword, method overloading, local variables and member variables
实现删除-一个字符串中的指定字母,如:字符串“abcd”,删除其中的”a”字母,剩余”bcd”,也可以传递多个需要删除的字符,传递”ab”也可以做到删除”ab”,剩余”cd”。
BGP 第一次实验
tf.keras.callbacks.EarlyStopping()
测试点等同于测试用例吗
nodeJs--各种路径
Realize deletion - a specified letter in a string, such as: the string "abcd", delete the "a" letter in it, the remaining "bcd", you can also pass multiple characters to be deleted, and pass "ab" can