Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thompson)于2007年9月开始设计Go,稍后Ian Lance Taylor、Russ Cox加入项目。
Go是基于Inferno操作系统所开发的。Go于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。
在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。 目前,Go每半年发布一个二级版本(即从a.x升级到a.y)。
Go程序是使用包构造的,使用包可以有效地管理依赖关系。Go语言使用传统的编译和链接模式生成可执行的二进制文件。
Go 语言特点
- 支持部分动态语言模式,例如,类型推断(x:= 0是int类型变量x的有效声明)
- 编译快
- 语言内建并发支持:轻量级进程(通过go routines)、channel、select
- 精简、安全
- 支持接口和类型嵌入
- 二进制目标文件使用静态链接,最终生成的可执行程序没有外部依赖
有意精简的功能
为了使语言简单明了,Go语言中去除了其他语言中一些常见特性:
- 类型继承
- 方法或操作符重载
- 包之间的循环依赖关系
- 指针运算
- 断言
- 泛型
go 程序
Go程序源码保存在一个或多个扩展名为.go
的文本文件中,例如:hello.go
,二进制目标文件使用静态链接,最终生成的可执行程序没有外部依赖。