Windows+Linux系统下Go语言环境安装配置过程

 更新时间:2021年06月02日 10:54:59   作者:Baret-H  
Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。这篇文章主要介绍了Windows+Linux系统下Go语言环境搭建配置过程,针对每种系统给大家讲解的非常详细,需要的朋友可以参考下

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。

在这里插入图片描述

1. Windows安装配置

1️⃣ 下载SDK

SDK 的全称是Software Development Kit(软件开发工具包) ,包含了对应开发语言的工具包

image-20210405003749354

Windows 下:根据自己系统是 32 位还是 64 位进行下载

  • 32 位系统:windows-386.zip
  • 64 位系统:windows-amd64.zip

下载后解压得到以下目录

image-20210405004835586

目录中各个文件夹的含义如下表所示

目录名 说明
api 每个版本的 api 变更差异
bin go 源码包编译出的编译器(go)、文档工具(godoc)、格式化工具(gofmt)
doc 英文版的 Go 文档
lib 引用的一些库文件
misc 杂项用途的文件,例如 Android 平台的编译、git 的提交钩子等
pkg Windows 平台编译好的中间文件
src 标准库的源码
test 测试用例

2️⃣ 配置环境变量

环境变量 说明
GOROOT 指定SDK的安装路径 export GOROOT=/usr/local/bin
GOPATH 工作目录,将来我们的go项目的工作路径 export GOPATH=$HOME/go
PATH 添加SDK的/bin目录到系统环境变量 export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

系统变量中添加GOROOT对应SDK的安装路径

image-20210405010738034

然后添加GOPATH对应工作目录

image-20210405011035657

最后在Path中添加SDK的/bin目录

image-20210405010842724

最后cmd中输入go version/go env看是否配置成功,出现如下结果则成功

C:\Users\zsr204>go version
go version go1.16.3 windows/amd64

C:\Users\zsr204>go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\zsr204\AppData\Local\go-build
set GOENV=C:\Users\zsr204\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=D:\学习\Go project\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=D:\学习\Go project
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=D:\Go Environment\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:\Go Environment\go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.16.3
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=NUL
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\zsr204\AppData\Local\Temp\go-build3653787397=/tmp/go-build -gno-record-gcc-switches

3️⃣ 配置go代理

通过 go get 命令下载各种依赖时,经常需要访问 github/google 等网站。我们可以配置代理后,快速稳定的下载访问,推荐 GOPROXY.IO - 一个全球代理 为 Go 模块而生

goproxy.io 是全球最早的 Go modules 镜像代理服务之一, 采用 CDN 加速服务为开发者提供依赖下载, 该服务由一批热爱开源, 热爱 Go 语言的年轻人开发维护。从 Go 1.11 开始 Go 语言开始支持 Go modules 来解决大家长久以来诟病的依赖管理问题,目前 Go modules 功能已经符合生产环境标准。

image-20210527133434546

配置方式:

1. 右键 我的电脑 -> 属性 -> 高级系统设置 -> 环境变量
2. 在 “[你的用户名]的用户变量” 中点击 ”新建“ 按钮
3. 在 “变量名” 输入框并新增 “GOPROXY”
4. 在对应的 “变量值” 输入框中新增 “https://goproxy.io,direct”
5. 最后点击 “确定” 按钮保存设置

image-20210527133728882

再次用go env命令即可看到配置的代理

image-20210527133953613


2. Linux安装配置

1️⃣ 下载SDK

这里的环境为腾讯云CentOS7服务器,推荐到Go语言中文网下载

国外官方:https://golang.org/dl/

中文镜像:https://golang.google.cn/dl/

中文网站:https://studygolang.com/dl(推荐)

image-20210525113741523

下载后通过xftp上传到云服务器

image-20210525114339780

然后解压到usr/local目录下

tar -zxvf go1.16.4.linux-amd64.tar.gz -C /usr/local 

2️⃣ 配置环境变量

环境变量 说明
GOROOT 指定SDK的安装路径 export GOROOT=/usr/local/bin
GOPATH 工作目录,将来我们的go项目的工作路径 export GOPATH=$HOME/go
PATH 添加SDK的/bin目录到系统环境变量 export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

然后修改根目录下的bashrc文件

[root@zsr ~]# vim ~/.bashrc 
[root@zsr ~]# cat ~/.bashrc 
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

# 设置go语言的路径
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

然后重新加载该文件

[root@zsr ~]# source ~/.bashrc

到此环境变量配置完毕,然后输入go version/go env指令查看是否安装成功

[root@zsr go]# go version
go version go1.16.4 linux/amd64
[root@zsr go]# go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/root/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/root/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.16.4"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build2887101268=/tmp/go-build -gno-record-gcc-switches"

3️⃣ 配置go代理

通过 go get 命令下载各种依赖时,经常需要访问 github/google 等网站。我们可以配置代理后,快速稳定的下载访问,推荐 GOPROXY.IO - 一个全球代理 为 Go 模块而生

goproxy.io 是全球最早的 Go modules 镜像代理服务之一, 采用 CDN 加速服务为开发者提供依赖下载, 该服务由一批热爱开源, 热爱 Go 语言的年轻人开发维护。从 Go 1.11 开始 Go 语言开始支持 Go modules 来解决大家长久以来诟病的依赖管理问题,目前 Go modules 功能已经符合生产环境标准。

image-20210527133434546

配置方式:

# 设置你的 bash 环境变量
echo "export GOPROXY=https://goproxy.io,direct" >> ~/.bashrc && source ~/.bashrc

再次用go env命令即可看到配置的代理

image-20210527134444629

以上就是Windows+Linux系统下Go语言环境搭建配置过程的详细内容,更多关于Go语言环境搭建的资料请关注脚本之家其它相关文章!

相关文章

  • 关于golang高并发的实现与注意事项说明

    关于golang高并发的实现与注意事项说明

    这篇文章主要介绍了关于golang高并发的实现与注意事项说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • Golang交叉编译(跨平台编译)的使用

    Golang交叉编译(跨平台编译)的使用

    本文主要介绍了Golang交叉编译(跨平台编译)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Go语言泛型打造优雅的切片工具库

    Go语言泛型打造优雅的切片工具库

    泛型是一种编程范式,允许开发者在编写代码时定义通用的类型参数,而不是具体的类型,本文将使用泛型实现打造优雅的切片工具库,希望对大家有所帮助
    2025-02-02
  • go语言beego框架web开发语法笔记示例

    go语言beego框架web开发语法笔记示例

    这篇文章主要为大家介绍了go语言beego框架web开发语法笔记示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • golang 链路追踪的实现示例

    golang 链路追踪的实现示例

    本文主要介绍了golang 链路追踪的实现示例,包括调用链过长和接口响应慢的问题,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • golang调试bug及性能监控方式实践总结

    golang调试bug及性能监控方式实践总结

    这篇文章主要为大家介绍了golang调试bug及性能监控方式实践是总结,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Go语言快速入门图文教程

    Go语言快速入门图文教程

    Go是 Goolge 开发的一种静态型、编译型、并发型,并具有垃圾回收功能的语言,Go 语言上手非常容易,它的风格类似于 C 语言,Go 语言号称是互联网时代的 C 语言,那么它到底有多火呢,一起看看吧
    2021-05-05
  • 一文详解Go语言中切片的底层原理

    一文详解Go语言中切片的底层原理

    在Go语言中,切片作为一种引用类型数据,相对数组而言是一种动态长度的数据类型,使用的场景也是非常多,所以本文主要来和大家聊聊切片的底层原理,需要的可以参考一下
    2023-06-06
  • golang实现的文件上传下载小工具

    golang实现的文件上传下载小工具

    这篇文章主要介绍了golang实现的文件上传下载小工具,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • golang整合jwt的实现示例

    golang整合jwt的实现示例

    json web tokens(jwt)已成为大多数web api设计中的常见身份验证和授权方案之一,本文主要介绍了golang整合jwt的实现示例,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08

最新评论