golang 是什么?

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。

罗伯特·格瑞史莫(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的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。

与C++相比,Go并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了 切片(Slice) 型、并发、管道、垃圾回收、接口(Interface)等特性的语言级支持。Go 2.0版本将支持泛型,对于断言的存在,则持负面态度,同时也为自己不提供类型继承来辩护。

不同于Java,Go内嵌了关联数组(也称为哈希表(Hashes)或字典(Dictionaries)),就像字符串类型一样。

撰写风格

在Go中有几项规定,而且这些是强制的,当不匹配以下规定时编译将会产生错误。

● 每行程序结束后不需要撰写分号(;)。

● 大括号({)不能够换行放置。

● if判断式和for循环不需要以小括号包覆起来。

Go亦有内置gofmt工具,能够自动整理代码多余的空白、变量名称对齐、并将对齐空格转换成Tab。

相关推荐:golang教程

更多相关文章

  1. golang语言可以做些什么
  2. golang是什么语言?
  3. golang语言的出现解决了什么问题
  4. golang编程语言能开发啥
  5. go语言数据类型转换教程
  6. Go语言中GOROOT、GOPATH、GOBIN详解
  7. 从go语言闭包谈函数式编程
  8. go语言中函数与方法介绍
  9. Go语言使用正则表达式提取网页文本

随机推荐

  1. Android视图优化之Merge,ViewStub基本使用
  2. Android SDK 2.2 和ADT插件下载
  3. android 的各种manager
  4. 【Android每日一练】Android项目结构详解
  5. Android中显示在线PDF
  6. [置顶] Android 多渠道打包:使用Gradle和A
  7. android listviewListview中的button点击
  8. RelativeLayout布局属性
  9. Android Actionbar自定义标题栏
  10. 转载:android 各种xml资源的引用方式