本节重点:
- 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
/usr/local/go/usr/local/go/bin
Windows
c:\Goc:\Go\bin
Linux
tar/usr/local
/usr/local/go/binPATH
Linux下环境配置详细示例
~/.bash_profile
vi ~/.bash_profile
- 追加以下内容:
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/go
goroot
gopath
source ~/.profile
- 验证,查看版本
go version
正常输出如下:
$ go version
go version go1.18.1 darwin/amd64
设置Go国内模块代理
因为网络原因,建议配置国内代理。
~/.bash_profile
vi ~/.bash_profile
- 追加以下内容:
export GOPROXY=https://goproxy.cn,direct
- 使以上配置的环境变量生效:
source ~/.bash_profile
至此, go开发环境安装成功。