Go 语言入门系列:Go 语言环境安装

「最近将会更新 Go 语言入门的系列文章,非常基础。适合小白入门或者零基础的同学,已有相关 Go 基础的同学可以略过。」

可爱的 Golang 吉祥物,出自 Golang 设计者之一 Rob Pike 之妻 Renee French

Go 语言入门系列:Go 语言环境安装


由 Google 于 2007 年开发,并于 2009 年开源的 Golang 语言,至今已经走过了将近 10 个年头。自 2012 年 Golang 1.0 稳定版本发布以来,凭借其独特的魅力在全球范围内吸引了众多的开发者和发展了数量庞大的活跃社区。

Golang 在多核并发上拥有原生的设计优势,充分利用现代硬件性能又兼顾开发效率,设计的目标是为了发挥类似 Python 等动态语言开发速度,并在此基础上提供 C/C++ 等编译型语言的性能和安全。

Golang 具备很强的语言表达能力,支持静态类型安全,能够快速编译大型项目;同时也能够让开发人员访问底层操作系统,极力挖掘计算机 CPU 资源,还提供了强大的网络编程和并发编程支持。

Golang 具备以下特性:

  • 从底层支持并发,无需第三方库支持,对开发者的编程技巧和开发经验要求低;
  • 支持自动垃圾回收,避免内存泄露
  • 支持函数多返回值
  • 支持匿名函数和闭包
  • 支持反射
  • 更好的性能
  • 提供强大的标准库支持
  • 快速、静态类型的编辑型语言,同时提供动态语言特性

Golang 简单、高效、并发的特性吸引了众多开发人员加入到 Golang 开发的大家庭中,目前已经涌现大量通过 Golang 原生开发的大型开源项目, 并在软件行业中发挥重要作用,其中包括 Docker、Kubernetes、etcd 等。

环境安装

“工欲善其事,必先利其器”,想要用好 Golang 这门开发利器,首先需要安装好 Golang 的相关开发环境。Golang 自带编译器,所以我们仅需要安装 Golang 开发包即可。

Go 开发包安装

Golang 开发包可以从以下两个网址中获取:


Go 语言入门系列:Go 语言环境安装

MacOS 和 Windows 的安装由读者自行完成,仅需要下载对应版本的安装器一路安装即可完成。接下来仅介绍 Linux 上的 Golang 开发包安装。

「第 0 步」

安装可能需要的下载程序 wget:

yum -y install wget

「第 1 步」

下载 Golang 开发包:

wget -c https://studygolang.com/dl/golang/go1.12.4.linux-amd64.tar.gz

以上下载的 Golang 版本为 1.12.4,大家可以根据当前最新版本进行下载。

「第 2 步」

解压开发包:

tar -C /home/ -xzf go1.12.4.linux-amd64.tar.gz

根据个人的需要,可以将开发包放置到指定的目录下。此处将开发包解压到 /home/ 目录下。解压后的目录概要如下,它严格遵守 GOPATH 规则。在接下来的章节中会对 GOPATH 规则和相关目录命名进行详细介绍,它是 Golang 编译的核心规则。

├── api //每个版本的 api 变更差异
├── AUTHORS
├── bin //golang 源码包编译出的编译器(go)、文档工具(godoc)、格式化工具(gofmt)
├── CONTRIBUTING.md
├── CONTRIBUTORS
├── doc //golang 文档
├── favicon.ico
├── lib // 引用的库依赖
├── LICENSE
├── misc
├── PATENTS
├── pkg //各个操作系统平台编译好的中间文件
├── README.md
├── robots.txt
├── src //标准库的源码
├── test //测试用例
└── VERSION

「第 3 步」

将 go/bin 添加到 PATH 环境变量中:

export PATH=$PATH:/home/go/bin

「第 4 步」

验证 Golang 开发包是否安装成功:

go version

如果安装顺利的话,命令行将输出对应的 Golang 版本,如下所示:

go version go1.12.4 linux/amd64

安装后 Golang 开发环境后,我们即将进入到 Golang 的开发海洋中。

小结

关于集成开发环境,读者们可以按照自己的喜好自行选择相关的集成开发环境。如果可能的话,我在此推荐 Jetbarins 公司的 Goland 集成开发环境,相关地址为:https://www.jetbrains.com/go/。在代码演示中,我们将尽量通过命令行的方式对程序进行编译和调试,减少对开发环境的依赖。


阅读最新文章,欢迎关注公众号:aoho 求索


上一篇:对话余凯:人工智能未来何在?深度学习+贝叶斯网络


下一篇:使用 Sketch 和 Pixate 构建 Material Design 原型 - 第一部分