第一篇: 介绍
本文是我们《Golang系列教程》开篇文章,文章中讲介绍Go语言,并讨论Go和其他语言之间
的优劣性。
介绍
Go 也被称为Golang 是一个由Google开发的开源,编译型,静态类型的语言。关键的创始人有:
Ro Pike,Ken Thompson 和Robert Griesemer。Go于2009年向公众开放。
Go 是一个通用的语言,它提供了 简单的语法,健壮的标准库。最重要是:Go能够创建高可用,可扩展的web应用。
当然了,Go也能用于开发命令行应用,桌面应用以及移动应用。
Go的优势
在众多编程语言如: Python,ruby,nodejs.... 云集的情况下,为什么要选择Go作为服务端的编程语言呢?
这里列出来一些,我在选择Go时,所带来的好处。
简单的语法
语法简单,精炼,没有冗余的非必需特性。这就使得很容易编写易读、可维护的代码。
易于编写并发程序
并发作为Go语言的内置特性。总之,编写多线程的程序是小菜一碟。并发是由Gorouting和channel来实现的,
我们在下面的教程中,将会对其进行讨论。
编译型语言
编译型语言是相对于解释型语言存在的,编译型语言的首先将源代码编译生成机器语言,再由机器运行机器码(二进制)。像C/C++等都是编译型语言。
Go 是编译型语言,它的源码直接被编译成本地二进制。这是一些解释型语言:如,JavaScript和nodejs所缺失的。
快速编译
Go的编译器很令人赞叹,并且 相比于之前,它被设计的越来越快了。
静态链接
Go语言编译器支持静态链接。所有的Go代码都可能被静态地链接成一个大的二进制程序,并且轻松地发布到云服务上,而无需担心依赖问题。
Go 工具
Go的工具集特别值得一提。Go和其对应的一大批强大的工具集相伴而生,这样就保证了开发者可以写出更好的代码。
常用的工具有:
gofmt -gofmt 可以用于自动地格式化go源码。它使用tab缩进,使用空格对齐。
vet -vet可以分析go源码,并且报告可能的可疑代码。vet报告的并不是真实的问题,但是它却有能力捕捉非编译期错误,
例如: 在使用Printf时不正确的格式区分符。golint -golint 可用于识别代码中的样式问题。
垃圾回收
Go使用垃圾回收期进行垃圾回收,因此,可以很好地自动进行内存管理,开发者不用担心内存管理问题。这也让编写并发程序
变的简单。
简单的语言规范
Go语言的规范非常简单,全部的规范可以在一页中列出,你设置可以使用它编写你自己的编译器。
开源
最重要的是,Go是一个开源项目,你可以参与并贡献自己的一份力量。
使用Go构建的产品
下面是一些使用Go开发的比较流行的产品。
Google 使用Go开发了kubernete
Docker ,世界上最著名的容器平台也是使用Go开发的
Drobox 也是用Go改造了它的关键组件。
备注
翻译自
有疑问加站长微信联系(非本文作者)