Go是Google的新语言,它是试验性的、开源的,它与C语言类似,但是添加了很多特性,像反射、垃圾回收器、动态类型、并发以及并行机制等等。
Rob Pick在Tech Talk Channel上发布了Go,他是Go语言的主要开发者之一,他说,该语言是试验性的,因为“我们并不认为它能解决所有问题,但是我们在使用它,并且认为现在是把它介绍给世界的时候了。” 该语言还在其中包含了并发构造体,它的目的是让开发者能够易于创建并行任务。据作者所说,该语言的目的包括以下几点:
- 将静态语言的高效性和动态语言的易于编写的特性组合在一起。实际上,开发者能够选择使用静态还是动态的方式。
- 安全。该语言是类型安全的,它只允许显式的类型转换,而不允许隐式的转换。另外,该语言不提供指针算法,并且会执行垃圾回收,因此是内存安全的。
- 为并发和通信提供良好的支持。
- 拥有高效、无延时的垃圾回收机制。
- 高速编译。
该语言还有一些有趣的特性:
- 该语言中有指针,但是没有指针算术。
- 它拥有接口。
- 它拥有同步通道。这些通道被用于线程间通信,它是并发的基础。Go推荐通过与其通信来共享内存,而不是通过共享的内存来通信。每次只有一个线程能够访问共享值,该值通过通道在线程之间传递。
- Go例程(Goroutine)。这是用于并发的另一种结构。go例程只是一种拥有“go”关键字前缀的函数或者方法。一个go例程与一个线程相关联,并通过通道与其它go例程通信。
- 并行。go例程和通道能够被用于在多个CPU上执行计算。
- 反射(Reflection)。我们可以在所有类型、通道上实现反射。
- 内嵌(Embedding)。这是一种简单的继承方式。
迄今为止,该语言有两种编译器。一种针对不同平台有不同的名字。6g针对64位的x86或者AMD64位平台,8g针对的是32位的x86或者AMD32位平台,而5g针对ARM平台。另一种编译器是gccgo。6g拥有标记再清除(mark-and-sweep )垃圾回收器,而gccgo没有,但是基于IBM回收器(IBM’s Recycler)的新垃圾回收器在两种编译器下都可以工作。Go语言暂时还没有图形化开发界面和调试器。
Go语言的目的之一是要拥有最快的编译器,似乎它已经达到了。6g编译器是最快的,而gccgo稍慢一些,但是能够产出更优的代码。编译器只会生成机器码,而不会为虚拟机(VM)生成字节码,并且他们说它几乎可以运行得和C代码一样快,只比类似的C代码慢10-20%。
现在go语言已经提供了很多基本功能库,但还需要很多。Godoc可以像javadoc一样从源代码生成文档。Go是基于BSD许可发行的开源项目。
分享到:
相关推荐
谷歌浏览器安装包——
1、文件管理——长按压缩包——更多——解压至——内部存储——选择目录——Huawei(位置在中间偏下)——勾选右上方对号——查看 2、设置——系统和更新——时间和日期——自动设置关闭——日期——调节至2020年...
go(Google)语言精要,go(Google)语言精要,go(Google)语言精要
大家一起学Golang ——Go语言简介与安装 go语言简介 Go语言是有google公司推出的一门编程语言,是开源,静态编程语言,语法简洁,天生支持并发。 2007年由Robert Griesemer, Rob Pike, Ken Thompson主持开发,又来...
谷歌浏览器安装包——官网下载
谷歌验证码使用工具——kaptcha-2.3.2的使用非常简单;
Go语言的设计者计划设计一门简单、高效、安全和 并发的语言。这门语言简单到甚至不需要有一个符号表来进行词法分析。它可以快速地编译;整个工程的编译时间在秒以下的情况是常事。它具备垃圾回收功能,因 此从内存的...
google GO 语言 最新 语言PDF教程,详细的官方讲解,英文材料!
2018年4月更新).12推荐 老男孩教育Go语言第一期(2018年4月更新).13 GopherChina 2018大会(PPT)(2018年4月29日更新)14 Go语言开发公开课(持续更新)15 推荐 Google资深工程师深度讲解Go语言
Python语言期末大作业——Google小恐龙游戏,解压有趣音乐。
自己做的谷歌地图桌面版 里面的文本文件记述了安装和卸载方法。 v1.5(增加mark和坐标显示): http://download.csdn.net/source/2064688
谷歌浏览器的一个新特点——关于获取iframe的parent对象Demo.zip,欢迎下载!!!
解析Google Android SDK——智能手机开发范例手册-下载代码
华为P40安装谷歌框架步骤2 1、设置——系统和更新——日期和时间——自动设置 2、安装下面的3个软件
————————————————————————————————————————————————————————————————————————————————————————————————————...
谷歌集装箱是款谷歌浏览器的一个扩展程序,添加该扩展程序以后,可以让你的谷歌浏览器更加具有个性化,更具有辨识度,更贴近你的使用习惯,也可以添加更多需要的插件工具哦
一个用于修改 ajax 请求响应的 chrome 扩展,修改ajax请求数据
提高网站在Google中的排名——面向搜索引擎的网站设计.docx
谷歌浏览器安装包。