go语言自营 go 语言 gui( 三 )


【Go语言的优势】
可直接编译成机器码,不依赖其他库,glibc的版本有一定要求 , 部署就是扔一个文件上去就完成了 。
静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用 , 写起来的效率很高 。
语言层面支持并发 , 这个就是Go最大的特色,天生的支持并发,我曾经说过一句话 , 天生的基因和整容是有区别的,大家一样美丽,但是你喜欢整容的还是天生基因的美丽呢?Go就是基因里面支持的并发,可以充分的利用多核,很容易的使用并发 。
内置runtime,支持垃圾回收,这属于动态语言的特性之一吧,虽然目前来说GC不算完美,但是足以应付我们所能遇到的大多数情况 , 特别是Go1.1之后的GC 。
简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go关键字是25个,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等 。
丰富的标准库,Go目前已经内置了大量的库 , 特别是网络库非常强大 , 我最爱的也是这部分 。
内置强大的工具,Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得如此的简单,代码格式一模一样,想不一样都很困难 。
跨平台编译,如果你写的Go代码不包含cgo,那么就可以做到window系统编译linux的应用,如何做到的呢?Go引用了plan9的代码,这就是不依赖系统的信息 。
内嵌C支持,前面说了作者是C的作者,所以Go里面也可以直接包含c代码,利用现有的丰富的C库 。
go的简介Go语言于2009年11月正式宣布推出 , 成为开放源代码项目 , 并在Linux及Mac OS X平台上进行了实现 , 后追加Windows系统下的实现 。
谷歌资深软件工程师罗布·派克(Rob Pike)表示,“Go让我体验到了从未有过的开发效率 。”派克表示,和今天的C++或C一样,Go是一种系统语言 。他解释道,“使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大 。”
2007年 , 谷歌把Go作为一个20%项目开始研发,即让员工抽出本职工作之外时间的20%,投入在该项目上 。除了派克外 , 该项目的成员还有其它一些谷歌工程师 。
派克表示,编译后Go代码的运行速度与C语言非常接近,而且编译速度非常快 , 就像在使用一个交互式语言 。
现有编程语言均未专门对多核处理器进行优化 。派克表示,Go就是谷歌工程师为这类程序编写的一种语言 。它不是针对编程初学者设计的,但学习使用它也不是非常困难 。Go支持面向对象,而且具有真正的封装(closures)和反射(reflection)等功能 。
在学习曲线方面,派克认为Go与Java类似,对于Java开发者来说,应该能够轻松学会Go 。
之所以将Go作为一个开源项目发布,目的是让开源社区有机会创建更好的工具来使用该语言,例如Eclipse IDE中的插件 。目前还没有支持Go的IDE 。
在目前谷歌公开发布的所有网络应用中 , 均没有使用Go 。但是谷歌已经使用该语言开发了几个内部项目 。
派克表示,Go是否会对谷歌即将推出的Chrome OS产生影响,现在还言之尚早,不过Go的确可以和Native Client配合使用 。他表示,“Go可以让应用完美的运行在浏览器内 。”例如,使用Go可以更高效的实现Wave,无论是在前端还是后台 。

推荐阅读