本节重点:
- Go语言简介
- 学会安装配置 Go 开发环境
介绍
Go 也称为 Golang,是由 Google 开发的一种开源、编译和静态类型的编程语言。Go 语言的创造者们包括 Unix 操作系统和 B 语言(C 语言的前身)的创造者、UTF-8 编码的发明者 Ken Thompson,Unix 项目的参与者、UTF-8编码的联合创始人和 Limbo 编程语言(Go 语言的前身)的创造者 Rob Pike,以及著名的 Javascript 引擎V8的创造者 Robert Griesemer。Go 于 2009 年 11 月公开发布。
Go 是一种语法简单的通用编程语言,并由强大的标准库提供支持。Go 闪耀的关键领域之一是创建高度可用和可扩展的 Web 应用程序。Go 还可用于创建命令行应用程序、桌面应用程序甚至移动应用程序。
Go 的优点
当有大量其他语言(例如 python、ruby、nodejs …)做同样的工作时,为什么你会选择 Go 作为你的服务器端编程语言。
以下是我在选择 Go 时发现的一些优点。
简单的语法
语法简洁明了,语言没有臃肿的不必要的功能。这使得编写可读和可维护的代码变得容易。
易于编写并发程序
并发是语言的固有部分。因此,编写多线程程序是小菜一碟。这是通过Goroutine和通道实现的,我们将在接下来的教程中讨论。
编译语言
Go 是一种编译语言。源代码被编译为本机二进制文件。这在解释语言(例如 nodejs 中使用的 JavaScript)中是缺失的。
快速编译
Go 编译器非常棒,它从一开始就被设计成快速的。
静态链接
Go 编译器支持静态链接。整个 Go 项目可以静态链接到一个大二进制文件中,并且可以轻松部署在云服务器中,而无需担心依赖关系。
Go 工具
工具在 Go 中值得特别提及。Go 捆绑了强大的工具,可帮助开发人员编写更好的代码。一些常用的工具是,
- gofmt - gofmt用于自动格式化 Go 源代码。它使用制表符进行缩进,使用空白进行对齐。
- vet - vet分析 go 源代码并报告可能的可疑代码。vet 报告的所有内容都不是真正的问题,但它能够捕获编译器未报告的错误,例如使用Printf时不正确的格式说明符。
- golint - golint用于识别代码中的样式问题。
垃圾收集
Go 使用垃圾收集,因此内存管理几乎是自动进行的,开发人员无需担心管理内存。这也有助于轻松编写并发程序。
简单的语言规范
语言规范非常简单。整个规范适合一个页面,您甚至可以使用它来编写自己的编译器:)
开源
最后但同样重要的是,Go 是一个开源项目。您可以参与并为Go 项目做出贡献。
使用 Go 构建的热门产品
以下是一些使用 Go 构建的流行产品。
- 谷歌使用 Go 开发了 Kubernetes。
- Docker,世界著名的容器化平台是使用 Go 开发的。
- Dropbox 已将其性能关键组件从 Python 迁移到 Go。
- Infoblox 的下一代网络产品是使用 Go 开发的。
安装
Go 可以安装在 Mac、Windows 和 Linux 三个平台上。您可以从 官方镜像 下载对应平台的二进制文件
Mac OS
从 官方镜像下载 Mac OS 安装程序。双击开始安装。按照提示操作,这将在/usr/local/go
中安装 Golang,并且还将文件夹/usr/local/go/bin
添加到您的 PATH 环境变量中。
Windows
从 官方镜像 下载 MSI 安装程序。双击以开始安装并按照提示进行操作。将 Go 安装在位置c:\Go
中,并将目录c:\Go\bin
添加到您的路径环境变量中。
Linux
从 官方镜像下载 tar
文件并将其解压缩到 /usr/local
。
将 /usr/local/go/bin
添加到 PATH
环境变量中。这将在 Linux 中安装 Go。 ```
Linux下环境配置详细示例
- 编辑
~/.bash_profile
文件:
vi ~/.bash_profile
- 追加以下内容:
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/go
goroot
为go安装目录
gopath
go工作区,即编写代码存放的目录
当我们配置完毕后,可以执行 source ~/.profile
更新系统环境变量。
- 验证,查看版本
go version
正常输出如下:
$ go version
go version go1.18.1 darwin/amd64
设置Go国内模块代理
因为网络原因,建议配置国内代理。
- 编辑
~/.bash_profile
:
vi ~/.bash_profile
- 追加以下内容:
export GOPROXY=https://goproxy.cn
- 使以上配置的环境变量生效:
source ~/.bash_profile
至此, go开发环境安装成功。