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语言环境搭建的资料请关注脚本之家其它相关文章!

相关文章

  • Go语言里的结构体文法实例分析

    Go语言里的结构体文法实例分析

    这篇文章主要介绍了Go语言里的结构体文法,实例分析了结构体文法的概念及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • 使用go gin来操作cookie的讲解

    使用go gin来操作cookie的讲解

    今天小编就为大家分享一篇关于使用go gin来操作cookie的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Go项目配置管理神器之viper的介绍与使用详解

    Go项目配置管理神器之viper的介绍与使用详解

    viper是一个完整的 Go应用程序的配置解决方案,它被设计为在应用程序中工作,并能处理所有类型的配置需求和格式,下面这篇文章主要给大家介绍了关于Go项目配置管理神器之viper的介绍与使用,需要的朋友可以参考下
    2023-02-02
  • GoLang读取文件的10种方法实例

    GoLang读取文件的10种方法实例

    读取文件是所有编程语言中最常见的操作之一,下面这篇文章主要给大家介绍了关于GoLang读取文件的10种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • Go语言同步与异步执行多个任务封装详解(Runner和RunnerAsync)

    Go语言同步与异步执行多个任务封装详解(Runner和RunnerAsync)

    这篇文章主要给大家介绍了关于Go语言同步与异步执行多个任务封装(Runner和RunnerAsync)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • Go 实现一次性打包各个平台的可执行程序

    Go 实现一次性打包各个平台的可执行程序

    这篇文章主要介绍了Go 实现一次性打包各个平台的可执行程序,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Go指针内存与安全性深入理解

    Go指针内存与安全性深入理解

    这篇文章主要为大家介绍了Go指针内存与安全性深入理解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Go语言中goroutine的使用

    Go语言中goroutine的使用

    本文主要介绍了Go语言中goroutine的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Go语言服务器开发之客户端向服务器发送数据并接收返回数据的方法

    Go语言服务器开发之客户端向服务器发送数据并接收返回数据的方法

    这篇文章主要介绍了Go语言服务器开发之客户端向服务器发送数据并接收返回数据的方法,实例分析了客户端的开发技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • Golang使用panic控制程序错误流程

    Golang使用panic控制程序错误流程

    这篇文章主要介绍了Golang使用panic控制程序错误流程,Golang panic异常处理机制中的一种流程控制方式,用于中断程序流程并触发异常处理
    2023-04-04

最新评论