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

简介: Go 语言环境安装

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

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

Golang-Sign.png


由 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 开发包可以从以下两个网址中获取:


Golang-Download.png

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 求索


目录
相关文章
|
10天前
|
程序员 Go PHP
为什么大部分的 PHP 程序员转不了 Go 语言?
【9月更文挑战第8天】大部分 PHP 程序员难以转向 Go 语言,主要因为:一、编程习惯与思维方式差异,如语法风格和编程范式;二、学习成本高,需掌握新知识体系且面临项目压力;三、职业发展考量,现有技能价值及市场需求不确定性。学习新语言虽有挑战,但对拓宽职业道路至关重要。
41 10
|
9天前
|
Go API 开发者
深入探讨:使用Go语言构建高性能RESTful API服务
在本文中,我们将探索Go语言在构建高效、可靠的RESTful API服务中的独特优势。通过实际案例分析,我们将展示Go如何通过其并发模型、简洁的语法和内置的http包,成为现代后端服务开发的有力工具。
|
11天前
|
算法 程序员 Go
PHP 程序员学会了 Go 语言就能唬住面试官吗?
【9月更文挑战第8天】学会Go语言可提升PHP程序员的面试印象,但不足以 solely “唬住” 面试官。学习新语言能展现学习能力、拓宽技术视野,并增加就业机会。然而,实际项目经验、深入理解语言特性和综合能力更为关键。全面展示这些方面才能真正提升面试成功率。
34 10
|
10天前
|
编译器 Go
go语言学习记录(关于一些奇怪的疑问)有别于其他编程语言
本文探讨了Go语言中的常量概念,特别是特殊常量iota的使用方法及其自动递增特性。同时,文中还提到了在声明常量时,后续常量可沿用前一个值的特点,以及在遍历map时可能遇到的非顺序打印问题。
|
8天前
|
存储 监控 数据可视化
Go 语言打造公司监控电脑的思路
在现代企业管理中,监控公司电脑系统对保障信息安全和提升工作效率至关重要。Go 语言凭借其高效性和简洁性,成为构建监控系统的理想选择。本文介绍了使用 Go 语言监控系统资源(如 CPU、内存)和网络活动的方法,并探讨了整合监控数据、设置告警机制及构建可视化界面的策略,以满足企业需求。
25 1
|
12天前
|
存储 Shell Go
Go语言结构体和元组全面解析
Go语言结构体和元组全面解析
|
1天前
|
Shell Go API
Go语言grequests库并发请求的实战案例
Go语言grequests库并发请求的实战案例
|
4月前
|
开发框架 安全 中间件
Go语言开发小技巧&易错点100例(十二)
Go语言开发小技巧&易错点100例(十二)
58 1
|
1月前
|
JSON 中间件 Go
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
本文详细介绍了如何在Go项目中集成并配置Zap日志库。首先通过`go get -u go.uber.org/zap`命令安装Zap,接着展示了`Logger`与`Sugared Logger`两种日志记录器的基本用法。随后深入探讨了Zap的高级配置,包括如何将日志输出至文件、调整时间格式、记录调用者信息以及日志分割等。最后,文章演示了如何在gin框架中集成Zap,通过自定义中间件实现了日志记录和异常恢复功能。通过这些步骤,读者可以掌握Zap在实际项目中的应用与定制方法
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
|
1月前
|
算法 NoSQL 中间件
go语言后端开发学习(六) ——基于雪花算法生成用户ID
本文介绍了分布式ID生成中的Snowflake(雪花)算法。为解决用户ID安全性与唯一性问题,Snowflake算法生成的ID具备全局唯一性、递增性、高可用性和高性能性等特点。64位ID由符号位(固定为0)、41位时间戳、10位标识位(含数据中心与机器ID)及12位序列号组成。面对ID重复风险,可通过预分配、动态或统一分配标识位解决。Go语言实现示例展示了如何使用第三方包`sonyflake`生成ID,确保不同节点产生的ID始终唯一。
go语言后端开发学习(六) ——基于雪花算法生成用户ID