Golang 系列讲座第一讲之介绍与安装
第一部分:介绍与安装
这是我们 Golang 系列教程的第一课。在这节课中我们会简单介绍 Go 并且会讨论 Go 相比其他编程语言的优势。另外我们将学习如何在 Mac, Windows 和 Linux 上安装 Go。
介绍
Go 也叫 Golang 是一种由谷歌公司开发的开源的静态类型编译的编程语言。Go 创造背后的关键人物是 Rob Pike,Ken Thompson 以及 Robert Griesemer。Go 的第一个版本是在 2009 年 10 月份公开发布的。
Go 是一种通用的包含一系列标准库支持的语法简单的编程语言。Go 非常适合用于编写那些高可用弹性的网络应用。Go 也适用于创建命令行应用,桌面应用甚至于移动应用。
Go 的优势
为何你会选择 Go 作为服务端的编程语言,尽管已经有像 python, ruby, nodejs 等大量的其他编程语言可以做同样的工作。
下面我将列出 Go 的几点优点:
简单的语法
Go 的语法是简单和简洁的,并且没有充斥着不必要的特征,这使得用 Go 写的代码可读性好并且方便维护。
方便编写并发程序
并发是 Go 语言内在的一部分,因此,编写多线程的并发程序只是小菜一碟。这是通过 Goroutine 和 Channel 这两个特性实现的,我们会在接下来的教程中具体讨论这两部分。
编译语言
Go 是一种静态编译的语言。Go 的源代码将会编译成原生的二进制,这个是在类似 nodejs 中使用的解释型语言 Javascript 所欠缺的。
快速编译
Go 编译器从一开始设计就强调了快速编译,并且事实证明它的编译速度是相当快的
静态链接
Go 编译器支持静态链接。所有的 Go 代码都可以静态链接成一个大的二进制,这个二进制可以部署到云服务上而不需要担心各种库的依赖问题。
Go 自带工具
Go 自带的工具值得特别提到。Go 从一开始创建就包含了各种强大的工具,开发者可以利用这些工具编写出更好的代码。
- gofmt - gofmt 是一个针对源代码自动格式化的工具,它使用 tab 作为缩进,以及使用空白来对齐。
- vet - vet 分析 go 的源代码然后报告可能存在的可疑代码。vet 报告的问题并不一定是真实的问题,但是它能捕获一些编译器所不能发现的比如 Printf 格式不正确的问题。
- golint - golint 用来识别代码风格问题
垃圾回收
Go 在内存管理上使用垃圾自动回收机制,因此开发者不需要担心内存的管理,这也有助于开发者更方便的编写并发程序。
简单语法规则
Go 语言的语法规则是相当简单的。整个语法规则只占1整页,按照该语法规则说明,你甚至可以自己编写编译器。
开源
最后提一点,Go 是一个开放源码的项目。你也可以贡献你自己的源码并参与进来。
用 Go 编写的流行产品
以下流行的产品都是用 Go 开发的
- Google 用 Go 开发了 Kubernetes
- Docker - 世界上最流行的容器平台也是用 Go 开发的
- Dropbox 已经将影响性能的至关重要的组件从 Python 迁移到 Go 开发
安装
Go 支持 Mac,Linux 以及 Windows 操作系统。你可以从 https://golang.org/dll/ 下载相关操作系统的二进制安装包。
Mac OS
从 https://golang.org/dll/ 下载安装包后双击开始安装,然后跟着提示安装完成。这个时候 Go 会被默认安装在 /usr/local/go 目录下,并且已经将 /usr/local/go/bin 加入到 PATH 环境变量中。
Windows
从 https://golang.org/dll/ 下载安装包后双击开始安装,然后跟着提示安装完成。这个时候 Go 会被默认安装在 c:\Go 目录下,并且已经将 c:\Go\bin 加入到 PATH 环境变量中。
Linux
从 https://golang.org/dll/ 下载安装包后双击开始安装,然后解压到 /usr/local 目录下。这个时候 Go 会被安装在 /usr/local/go 目录下,需要自己将 /usr/local/go/bin 加入到 PATH 环境变量中。
在下一课 Golang 系列教程2: Hello World 中,我们将创建工作目录并且编写我们第一个 Go 程序。请提供有效的反馈与评价,谢谢阅读该教程。