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


目录
打赏
0
0
0
0
9
分享
相关文章
Go语言包的组织与导入 -《Go语言实战指南》
本章详细介绍了Go语言中的包(Package)概念及其使用方法。包是实现代码模块化、复用性和可维护性的核心单位,内容涵盖包的基本定义、命名规则、组织结构以及导入方式。通过示例说明了如何创建和调用包,并深入讲解了`go.mod`文件对包路径的管理。此外,还提供了多种导入技巧,如别名导入、匿名导入等,帮助开发者优化代码结构与可读性。最后以表格形式总结了关键点,便于快速回顾和应用。
127 61
Go语言之接口与多态 -《Go语言实战指南》
Go 语言中的接口是实现多态的核心机制,通过一组方法签名定义行为。任何类型只要实现接口的所有方法即视为实现该接口,无需显式声明。本文从接口定义、使用、底层机制、组合、动态行为到工厂模式全面解析其特性与应用,帮助理解 Go 的面向接口编程思想及注意事项(如 `nil` 陷阱)。
Go语言测试简明指南:深度解读go test命令
总的来说,go test是 Go 语言中一个强而有力的工具,每个 Go 程序员都应该掌握并把它融入到日常的开发和调试过程中。就像是一个眼镜过滤出的太阳,让我们在宽阔的代码海洋中游泳,而不是淹没。用好它,让我们的代码更健壮,让我们的生产力更强效。
106 23
Go语言网络编程:使用 net/http 构建 RESTful API
本章介绍如何使用 Go 语言的 `net/http` 标准库构建 RESTful API。内容涵盖 RESTful API 的基本概念及规范,包括 GET、POST、PUT 和 DELETE 方法的实现。通过定义用户数据结构和模拟数据库,逐步实现获取用户列表、创建用户、更新用户、删除用户的 HTTP 路由处理函数。同时提供辅助函数用于路径参数解析,并展示如何设置路由器启动服务。最后通过 curl 或 Postman 测试接口功能。章节总结了路由分发、JSON 编解码、方法区分、并发安全管理和路径参数解析等关键点,为更复杂需求推荐第三方框架如 Gin、Echo 和 Chi。
Go语言常见接口设计技巧-《Go语言实战指南》
本文分享了 Go 语言中接口设计的最佳实践与技巧。首先介绍了接口设计原则,包括面向接口编程和接口隔离原则(定义最小化接口)。接着详细讲解了常用技巧:关注行为而非数据、优先返回接口隐藏实现细节、遵循“-er”命名惯例、使用接口组合提升灵活性、通过 Mock 接口简化单元测试,以及避免导出仅内部使用的接口。最后以表格形式总结了各技巧的核心要点,帮助开发者编写更清晰、可维护的代码。
Go语言依赖管理与版本控制-《Go语言实战指南》
本章深入探讨Go语言中的依赖管理与版本控制,重点介绍Go Modules的使用方法。内容涵盖依赖管理的重要性、语义化版本控制(SemVer)、查看和管理依赖版本、主版本路径规则、常见操作场景、国内代理加速、依赖安全(go.sum文件)、版本冲突解决及版本锁定与回退等主题。通过学习,读者将掌握如何实现清晰、稳定且可重复构建的项目依赖管理。
一起学Golang系列(五)初次接触Go语言可能遇到的各种坑!
前面介绍了Go语言的基础语法,所谓磨刀不误砍柴工,希望大家还是能熟悉掌握这些基础知识,这样后面真正学起Go来才会得心应手。 作为初学者。Go语言的语法有些和java类似,但也有很多不一样的地方。刚开始都会遇到各种各样的坑。下面就来总结下学习go语言的过程中,遇到的各种坑。
一起学Golang系列(五)初次接触Go语言可能遇到的各种坑!
揭秘 Go 语言中空结构体的强大用法
Go 语言中的空结构体 `struct{}` 不包含任何字段,不占用内存空间。它在实际编程中有多种典型用法:1) 结合 map 实现集合(set)类型;2) 与 channel 搭配用于信号通知;3) 申请超大容量的 Slice 和 Array 以节省内存;4) 作为接口实现时明确表示不关注值。此外,需要注意的是,空结构体作为字段时可能会因内存对齐原因占用额外空间。建议将空结构体放在外层结构体的第一个字段以优化内存使用。
监控局域网其他电脑:Go 语言迪杰斯特拉算法的高效应用
在信息化时代,监控局域网成为网络管理与安全防护的关键需求。本文探讨了迪杰斯特拉(Dijkstra)算法在监控局域网中的应用,通过计算最短路径优化数据传输和故障检测。文中提供了使用Go语言实现的代码例程,展示了如何高效地进行网络监控,确保局域网的稳定运行和数据安全。迪杰斯特拉算法能减少传输延迟和带宽消耗,及时发现并处理网络故障,适用于复杂网络环境下的管理和维护。
Go语言Web开发框架实践:路由、中间件、参数校验
Gin框架以其极简风格、强大路由管理、灵活中间件机制及参数绑定校验系统著称。本文详解其核心功能:1) 路由管理,支持分组与路径参数;2) 中间件机制,实现全局与局部控制;3) 参数绑定,涵盖多种来源;4) 结构体绑定与字段校验,确保数据合法性;5) 自定义校验器扩展功能;6) 统一错误处理提升用户体验。Gin以清晰模块化、流程可控及自动化校验等优势,成为开发者的优选工具。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问