Go 语言开发环境搭建
Go 语言开发环境搭建
一. GO 环境安装
1.1 下载
Go镜像站(推荐):https://golang.google.cn/dl/
1.2 Go 版本的选择
默认下载最新自己对应的平台即可。

1.3 安装
1.3.1 Windows安装
打开下载的安装程序(.msi文件),然后按照安装向导中的说明进行安装


1.3.2 Linux下安装
wget https://golang.google.cn/dl/go1.21.1.linux-amd64.tar.gz
将下载好的文件解压到/usr/local目录下:
tar -zxvf go1.21.1.linux-amd64.tar.gz -C /usr/local # 解压
如果提示没有权限,加上sudo以root用户的身份再运行。执行完就可以在/usr/local/下看到go目录了。
配置环境变量,Linux下有两个文件可以配置环境变量,
其中
/etc/profile是对所有用户生效的;$HOME/.profile是对当前用户生效的,根据自己的情况自行选择一个文件打开,添加如下两行代码,保存退出。
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
修改/etc/profile后要重启生效,修改$HOME/.profile后使用source命令加载$HOME/.profile文件即可生效。
1.3.2 Mac下安装
打开下载的安装程序(.pkg文件),然后按照安装向导中的说明进行安装,默认会将go安装到/usr/local/go目录下。

1.4 验证Go安装
验证Go安装: 打开终端(Terminal)应用程序,并运行以下命令来验证Go是否正确安装:
go version
二. Go 语言环境变量
2,1 查看Go 环境变量
打开终端(Terminal)应用程序,并运行以下命令来查看Go 环境变量:
go env
终端会返回如下命令:
GO111MODULE='on'
GOARCH='amd64'
GOBIN=''
GOCACHE='/Users/thinkook/Library/Caches/go-build'
GOENV='/Users/thinkook/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/thinkook/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='darwin'
GOPATH='/Users/thinkook/go'
GOPRIVATE=''
GOPROXY='https://goproxy.cn,direct'
GOROOT='/usr/local/Cellar/go/1.21.1/libexec'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/Cellar/go/1.21.1/libexec/pkg/tool/darwin_amd64'
GOVCS=''
GOVERSION='go1.21.1'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='cc'
CXX='c++'
CGO_ENABLED='1'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/fs/wzn8gx9n3cq_gqvy502mn17r0000gn/T/go-build3919122639=/tmp/go-build -gno-record-gcc-switches -fno-common'
2.2 常用Go 配置项
| 环境变量 | 作用 | 默认值 |
|---|---|---|
| GOARCH | 用于指示Go编译器生成代码所针对的平台CPU架构 | 本机的CPU架构(例如,AMD64、Arm等) |
| GOOS | 用于指示Go编译器生成代码所针对的操作系统 | 本机的操作系统(例如,Linux、Darwin、Windows等) |
| GO111MODULE | 它的值决定了当前使用的构建模式是传统的GOPATH模式还是新引入的Go Module模式 | Go 1.16版本后,默认为"on",开启Go Module构建模式 |
| GOCACHE | 用于指示存储构建结果缓存的路径,这些缓存可能会被后续的构建所使用 | 不同操作系统上有不同的默认值。在Linux上默认值为 "$HOME/.cache/go-build" |
| GOMODCACHE | 用于指示存放Go Module的路径 | 不同操作系统上有不同的默认值。在Linux上默认值为 "$HOME/go/pkg/mod" |
| GOPROXY | 用来配置Go Module proxy服务 | 默认值为 "https://proxy.golang.org,direct"。在中国大陆地区通常设置为 "https://goproxy.cn,direct" 以加速下载速度 |
| GOPRIVATE | 指向自己的私有库,比如说自己公司的私有库 | 无(默认值由用户配置) |
| GOPATH | 在传统的GOPATH构建模式下,用于指示Go包搜索路径的环境变量,在Go module机制启用之前是Go核心配置项。Go 1.8版本之前需要手工配置,Go 1.8版本引入了默认的GOPATH($HOME/go)。在Go Module模式正式上位后,可能会被移除 | 无(默认值由用户配置) |
| GOROOT | 指示Go安装路径。Go 1.10版本引入了默认GOROOT,开发者无需显式设置,Go程序会自动根据自己所在路径推导出GOROOT的路径 | 无(由Go安装程序设置) |
2.3 GOPATH
- src:存放源代码:在GOPATH中的
src目录用于存放你的Go项目的源代码文件。每个Go项目都应该有自己的目录,通常按照导入路径的结构来组织。例如,如果你的项目的导入路径是github.com/yourusername/yourproject,那么你的项目应该位于$GOPATH/src/github.com/yourusername/yourproject。 - pkg:存放依赖包:
pkg目录用于存放已经编译好的Go包,这些包是你的项目依赖的其他包。这些包通常是由Go编译器自动构建并存储在pkg目录中,以便提高构建速度。 - bin:存放可执行文件:
bin目录用于存放通过go install命令构建的可执行文件。当你使用go install安装一个Go程序时,可执行文件将被放置在$GOPATH/bin目录下,可以直接运行。
2.4 GOROOT
- go的安装目录:GOROOT是指示Go语言安装目录的环境变量。它告诉Go编译器在哪里找到标准库以及其他与Go相关的工具和资源。GOROOT的默认值由Go安装程序设置,通常位于系统的特定目录中,例如
/usr/local/go或C:\Go。开发者不需要手动设置GOROOT,Go会自动识别它。
2.5 GOPROXY
2.5.1 介绍说明:
- 用来配置Go Module proxy服务:GOPROXY是一个环境变量,用于指定用于下载Go Module的代理服务。默认值为"https://proxy.golang.org,direct",它允许直接从官方代理下载Go Module。
- 在中国大陆等地区,由于网络限制,通常会将GOPROXY设置为本地的Go Module代理服务,例如"https://goproxy.cn,direct",以加速下载速度和提高可靠性。设置合适的GOPROXY可以改善Go Module的下载体验。
2.5.2 设置代理
对于Go版本1.13及以上:
go env -w GO111MODULE=on
go env -w GOPROXY=https://proxy.golang.com.cn/,direct
“direct” 是一个特殊指示符,用于指示Go在需要时回源到模块版本的源地址(例如GitHub等)。如果在GOPROXY值列表中的前一个Go模块代理返回404或410错误,Go会自动尝试列表中的下一个代理,遇到 “direct” 时会回源,遇到EOF时会终止并抛出类似“invalid version: unknown revision…”的错误。
对于其他版本,可以使用以下方式设置代理:
export GO111MODULE=on
export GOPROXY=https://proxy.golang.com.cn/
2.5.3 常用 GO 代理
以下是一些常用的Go Module代理服务的地址:
| 提供者 | 地址 |
|---|---|
| 官方全球代理 | https://proxy.golang.com.cn |
| 官方 | https://goproxy.io,direct |
| 七牛云 | https://goproxy.cn |
| 阿里云 | https://mirrors.aliyun.com/goproxy/ |
| GoCenter | https://gocenter.io |
| 百度 | https://goproxy.bj.bcebos.com/ |
这些代理服务可以帮助加速Go Module的下载,特别是在网络受限的情况下。您可以根据自己的需求选择合适的代理服务,并将GOPROXY设置为相应的地址。
三. 常用的IDE 设置
3.1 VsCode
特点:免费开源,强大的社区支持,扩展丰富,支持多种编程语言,包括Go。
官网地址:https://code.visualstudio.com/download

Go相关扩展:在VsCode中使用Go开发,你可以安装以下一些常用的Go相关扩展来增强开发体验:
- Go - 微软官方的Go扩展,提供自动补全、格式化、重构等语言特性。
- gopls - 另一个语言服务器,提供智能提示、代码跳转、诊断等。有些人会觉得它比默认的Go扩展更好。
- Go Test Explorer - 在VS Code内运行测试并在侧边栏显示结果。
- Go Modules - 支持Go modules,如导入语句的模块路径自动补全。
- gocode-gomod - 使用Go Modules时自动补全模块。
- dlv-dap - 提供调试Delve调试器的配置。
- gotests - 自动为你的代码生成测试文件。
- guru - 集成guru工具,提供引用、定义等显示。
- goreturns - 添加快捷键运行goreturns来格式化和组织导入语句。
3.2 Goland
特点:Goland是JetBrains公司开发的商业IDE,专门用于Go语言开发。它提供了丰富的功能和工具,使Go开发更加高效和愉快。
官网:https://www.jetbrains.com/go/

Go相关功能:Goland针对Go开发提供了许多功能,包括:
- 智能代码补全:Goland具有高度智能的代码补全功能,可以准确地预测你要输入的代码,提高编码速度。
- 深度集成:Goland深度集成了Go工具链,包括调试器、测试工具、代码导航等,使开发流程更加顺畅。
- 代码重构:Goland支持各种代码重构操作,可以帮助你改进代码质量和结构。
- 实时错误检查:Goland会在你编写代码时实时检查错误和代码质量问题,并提供即时反馈。
- 版本控制:集成了常见的版本控制工具,如Git,方便团队协作和版本管理。
配置:
打开后点击新建项目:

选择一个项目路径,和Go编译器创建项目

继续打开settings 设置Go Module 和 GOPROXY

Environment正确填写内容:GOPROXY=https://goproxy.cn,direct

这些是常用的Go开发IDE中的两个主要选择。你可以根据自己的需求和偏好选择其中一个,它们都提供了强大的工具和功能来支持Go开发。
Go 语言开发环境搭建的更多相关文章
- 【Apache Pulsar】Apache Pulsar单机环境及Go语言开发环境搭建
0x01 简介 Apache Pulsar是一个开源的分布式发布-订阅消息系统,与Kafka类似,但比后者更加强大.Pulsar最初由Yahoo开发并维护,目前已经成为Apache软件组织的一个孵化子 ...
- R语言开发环境搭建
R语言开发环境搭建 一.环境 Win7 64bit系统 二.R软件下载 R 3.5.2 for Windows,官网:https://www.r-project.org/ RStudio 1.1.46 ...
- Java 学习笔记 第一章:Java语言开发环境搭建
第一章:Java语言开发环境搭建 第二章:常量.变量和数据类型 第三章:数据类型转换.运算符和方法入门 1.Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟 ...
- Go语言开发环境搭建
1.Go的安装 (1)下载go安装程序 下载地址:https://golang.org/dl/ (墙内下载地址http://www.golangtc.com/download),如果是您的系统是win ...
- R 语言开发环境搭建
R 语言在统计计算和画图方面有着显著的优势,因此在大数据领域也有其一席之地. 本文将演示怎样搭建R 语言开发环境. 搭建R 语言开发环境,主要有两个步骤: - 安装 R 到操作系统 - 安装支持 R ...
- ubuntu16.04 Golang语言开发环境搭建
golang即go语言是跨平台的语言,适用于windows 和linux平台,下面介绍linux平台下ubuntu16.04系统下的开发环境搭建过程. 一.安装开发必备环境 执行下面命令分别安装git ...
- 02.Go语言开发环境搭建(新版)
安装Go语言及搭建Go语言开发环境 注意:Go语言1.14版本之后推荐使用go modules管理以来,也不再需要把代码写在GOPATH目录下了 下载 下载地址 Go官网下载地址:https://go ...
- win7下 go语言开发环境搭建(64bit)
Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全.支持并行进程 ...
- Java语言开发环境搭建
在使用任何计算机语言开发之前,都要搭建其开发环境. 一.明确什么是JDK.JRE. 二.下载JDK 三.安装JDK 四.配置环境变量 五.验证是否成功 一.什么是JRE.JDK. JRE(Java R ...
- linux + eclipse C语言 开发环境搭建
经常与linux系统打交道,了解学习一下C语言,下载eclipse c/c++ linux版,直接在虚拟机linux系统上安装http://www.eclipse.org/downloads/pack ...
随机推荐
- zabbix 监控nginx
nginx内置了一个status状态的功能,通过配置可以看到nginx的运行情况,status显示的内容包括当前连接数,处于活动状态的连接数,已经处理的请求数等等,可以利用这个功能编写zabbix监控 ...
- 1. 认识IntelliJ IDEA
恐惧是本能,行动是信仰(在此感谢尚硅谷宋红康老师的教程) 1. Why IDEA ? [注]JetBrains 官方说明: 尽管我们采取了多种措施确保受访者的代表性,但结果可能会略微偏向 JetBra ...
- FreeFileSync结合任务计划实现T级数据的全量备份和每日十几G数据的增量自动备份
1. 背景 公司现有nas存储中有共计1.8T左右的文件数据(一般是pdf.excel.图片.压缩文件等等格式),因为nas无法做备份:担心后面nas出现故障造成数据丢失,现急需一个解决方案实现如下目 ...
- celery笔记九之task运行结果查看
本文首发于公众号:Hunter后端 原文链接:celery笔记九之task运行结果查看 这一篇笔记介绍一下 celery 的 task 运行之后结果的查看. 前面我们使用的配置是这样的: # sett ...
- 2023-07-05:爱丽丝和鲍勃继续他们的石子游戏 许多堆石子 排成一行,每堆都有正整数颗石子 piles[i] 游戏以谁手中的石子最多来决出胜负。 爱丽丝和鲍勃轮流进行,爱丽丝先开始。最初,
2023-07-05:爱丽丝和鲍勃继续他们的石子游戏 许多堆石子 排成一行,每堆都有正整数颗石子 piles[i] 游戏以谁手中的石子最多来决出胜负. 爱丽丝和鲍勃轮流进行,爱丽丝先开始.最初,M = ...
- 2020 OC项目集成flutter
看了网上基本上都是相同套路,但是到我这就不行了,终于解决了, 主要就是profile文件编写, 1.在oc项目的同级目录项创建flutter模块 就是在oc项目的父级目录下,执行 flutter cr ...
- ISP之图像降分辨率
1.图像缩放背景 图像的放大.缩小(简称缩放)是图像处理的一种处理方法.所谓图像缩放是指图像分辨率的改变,它在图像显示.传输.图像分析以及动画制作.电影合成.甚至医学图像处理中都有着相当广泛的应用.比 ...
- JPA自动生成POJO
原文地址 JPA自动生成POJO 通过表生成POJO类 这篇文章不涉及idea配置数据源教程,该文章使用前提是用户已配置好idea数据源 修改自带的生成类 import com.intellij.da ...
- zanePerfor中一套简单通用的Node前后端Token登录机制和github授权登录方式
HI!,你好,我是zane,zanePerfor是一款我开发的一个前端性能监控平台,现在支持web浏览器端和微信小程序端. 我定义为一款完整,高性能,高可用的前端性能监控系统,这是未来会达到的目的,现 ...
- searchsploit用法
kali里面自带这个工具,用来搜索www.exploit-db.com上面的漏洞库,在由于是提前内置了数据库所以不联网也可以用. 使用之前先更新一下确保是最新的漏洞库 searchsploit --u ...