Go从入门到精通——如何安装 Go 语言开发包?

如何安装 Go 语言开发包?

  要学 Go 语言,首先要学会 Go 语言开发包的安装和使用。

  Go 语言的开发包可以在以下网站下载:

    • golang 中国,地址:https://www.golangtc.com/
    • Go 语言官方网站,地址:https://go.dev/

  以 Go 语言官方网站为例,go1.17.6 版本的下载地址:https://go.dev/dl/,网页页面如下:

加粗的部分是官方推荐下载的版本,其版本描述如下:

Go安装包说明
go1.17.6.src.tar.gz 源码包,供源码研究,对于日常开发不建议下载此包
go1.17.6.darwin-amd64.pkg Mac OS 平台 amd64 安装包
go1.17.6.darwin-arm64.pkg Mac OS 平台 arm64 安装包
go1.17.6.linux-amd64.tar.gz Linux 平台安装包
go1.17.6.windows-amd64.msi Windows 平台安装包

一、Windows 版本安装

  Go 语言的 Windows 版本安装包一般格式为 MSI 格式,不用解压缩,直接双击,就能安装到 Windows 系统,Go 语言的 Windows 安装包一般命名格式如下:

go1.17.6.windows-amd64.msi

  1.17.6:表示 Go 安装的版本;

  windows:表示这是一个 Windows环境 安装包;

  amd:表示对应的处理器版本,这里是 amd 64位的 CPU 版本;

  .msi:表示 Windows 版安装包的格式。

  1.1、下载 Go 安装包。

  1.2、双击安装,并弹出安装界面。

  1.3、不断点击下一步,直到提示 "Destination Folder",选择你要安装的路径,推荐默认路径go1.17.6.windows-amd64.msi 开发包的默认安装路径是 C:\Program Files\Go 目录下,推荐在这个目录下安装 Go 开发包,使用起来较为方便。

  1.4、点击 "Install" 安装。

  1.5、点击 "Finish",安装完成!

  1.6、安装完成后,安装目录下将生成一些目录,如下图:

  1.7、安装完成后,安装目录的大小,如下图:

  这个目录的结构遵守 GOPATH 规则。GOPATH 及相关的目录命名是 Go 语言编译的核心规则。

  Go 开发包的安装目录及说明,如下表:

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

二、Linux 版本安装

  Linux 版本的 Go 语言压缩包格式如下:

go1.17.6.linux-amd64.tar.gz

  1.17.6:表示 Go 安装的版本;

  linux:表示这是一个 linux环境 安装包;

  amd:表示对应的处理器版本,这里是 amd 64位的 CPU 版本;

  .tar.gz:表示 linux环境 压缩包格式。

  2.1、下载安装包

[root@iZj6cikc0tkurv3slmie8jZ ~]# wget https://go.dev/dl/go1.17.6.linux-amd64.tar.gz
--2022-02-07 10:36:48--  https://go.dev/dl/go1.17.6.linux-amd64.tar.gz
Resolving go.dev (go.dev)... 216.239.38.21, 216.239.34.21, 216.239.36.21, ...
Connecting to go.dev (go.dev)|216.239.38.21|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://dl.google.com/go/go1.17.6.linux-amd64.tar.gz [following]
--2022-02-07 10:36:48--  https://dl.google.com/go/go1.17.6.linux-amd64.tar.gz
Resolving dl.google.com (dl.google.com)... 142.250.204.46, 2404:6800:4005:800::200e
Connecting to dl.google.com (dl.google.com)|142.250.204.46|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 134830580 (129M) [application/x-gzip]
Saving to: ‘go1.17.6.linux-amd64.tar.gz’

100%[==================================================================>] 134,830,580 11.2MB/s   in 11s    

2022-02-07 10:36:59 (11.5 MB/s) - ‘go1.17.6.linux-amd64.tar.gz’ saved [134830580/134830580]

[root@iZj6cikc0tkurv3slmie8jZ ~]# 

  2.2、解压 Linux 环境 Go 安装包的压缩包

[root@iZj6cikc0tkurv3slmie8jZ ~]# mkdir -pv /usr/local/go/release/go1.17.6.linux-amd64
mkdir: created directory ‘/usr/local/go’
mkdir: created directory ‘/usr/local/go/release’
mkdir: created directory ‘/usr/local/go/release/go1.17.6.linux-amd64’
[root@iZj6cikc0tkurv3slmie8jZ ~]# tar -C /usr/local/go/release/go1.17.6.linux-amd64/ -xzf go1.17.6.linux-amd64.tar.gz --strip-components 1
[root@iZj6cikc0tkurv3slmie8jZ ~]# ls -l /usr/local/go/release/go1.17.6.linux-amd64
total 232
drwxr-xr-x  2 root root   4096 Jan  7 03:19 api
-rw-r--r--  1 root root  55782 Jan  7 03:19 AUTHORS
drwxr-xr-x  2 root root   4096 Jan  7 03:22 bin
-rw-r--r--  1 root root     52 Jan  7 03:19 codereview.cfg
-rw-r--r--  1 root root   1339 Jan  7 03:19 CONTRIBUTING.md
-rw-r--r--  1 root root 107225 Jan  7 03:19 CONTRIBUTORS
drwxr-xr-x  2 root root   4096 Jan  7 03:19 doc
drwxr-xr-x  3 root root   4096 Jan  7 03:19 lib
-rw-r--r--  1 root root   1479 Jan  7 03:19 LICENSE
drwxr-xr-x 12 root root   4096 Jan  7 03:19 misc
-rw-r--r--  1 root root   1303 Jan  7 03:19 PATENTS
drwxr-xr-x  6 root root   4096 Jan  7 03:23 pkg
-rw-r--r--  1 root root   1480 Jan  7 03:19 README.md
-rw-r--r--  1 root root    397 Jan  7 03:19 SECURITY.md
drwxr-xr-x 48 root root   4096 Jan  7 03:20 src
drwxr-xr-x 26 root root  12288 Jan  7 03:20 test
-rw-r--r--  1 root root      8 Jan  7 03:20 VERSION
[root@iZj6cikc0tkurv3slmie8jZ ~]# 

  2.3、制作软件连接(个人操作习惯,非必须)

[root@iZj6cikc0tkurv3slmie8jZ go]# ln -nsvf release/go1.17.6.linux-amd64 current
‘current’ -> ‘release/go1.17.6.linux-amd64’
[root@iZj6cikc0tkurv3slmie8jZ go]# ls -l
total 4
lrwxrwxrwx 1 root root   28 Feb  7 10:54 current -> release/go1.17.6.linux-amd64
drwxr-xr-x 3 root root 4096 Feb  7 10:50 release
[root@iZj6cikc0tkurv3slmie8jZ go]# 

  2.4、需要将 /usr/local/go/bin 目录添加到 PATH 环境变量中

[root@iZj6cikc0tkurv3slmie8jZ bin]# echo "export PATH=/usr/local/go/current/bin:\$PATH" > /etc/profile.d/go.sh
[root@iZj6cikc0tkurv3slmie8jZ bin]# more /etc/profile.d/go.sh 
export PATH=/usr/local/go/current/bin:$PATH
[root@iZj6cikc0tkurv3slmie8jZ bin]# source /etc/profile

  2.5、使用 go env 命令,可以查看 Go 压缩包是否安装成功。

[root@iZj6cikc0tkurv3slmie8jZ bin]# go env
GO111MODULE="off"
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
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/release/go1.17.6.linux-amd64"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/release/go1.17.6.linux-amd64/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.17.6"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
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-build3321887879=/tmp/go-build -gno-record-gcc-switches"
[root@iZj6cikc0tkurv3slmie8jZ bin]# 

  2.6、查看 Go 版本

[root@iZj6cikc0tkurv3slmie8jZ bin]# go version
go version go1.17.6 linux/amd64
[root@iZj6cikc0tkurv3slmie8jZ bin]# 

  2.7、关于 Go 的环境变量

$GOROOT:
  表示Go的安装目录。也就是上面我们解压出来的文件夹里面的go文件夹。
$GOPATH:
  表示我们的工作空间。用来存放我们的工程目录的地方。

 

posted @ 2022-02-07 11:06  左扬  阅读(742)  评论(0编辑  收藏  举报
levels of contents