手记

为什么开发人员从Java转到Go ?

使用Java来开发企业级的应用可能是一个不错的选择,但是使用Google的Go语言来开发系统软件会更有优势,一名来自PivotalJava开发者如是说,目前他已经成为Go语言的支持者。

Pivotal的一个使用Go语言开发其Cloud Foundry 云平台的工程师Matt Stine说:Go语言在包、模块化和并发方面有很大优势,如果你尝试解决的问题是Go语言所擅长的领域,如大型、高性能服务器端程序,我可以说Go非常适合这样的场景。”

Stine认为Go是一个“相当无聊”的语言,而不是一个神奇的、现代的、功能丰富的语言,但是尽管如此,“你仍然可以使用它开发出一些令人兴奋的东西”。他认为Go是一个构建系统级软件的工具。开发者可以使用Go语言标准库来构建系统级软件,而不像其他语言一样需要第三方框架。

Stine提到,在处理并发时,Golang有内建的功能,这与Java不同,Java的并发的工具类是通过类库支持的。Stine说:“我认为Go语言本身的语法结构就非常适合处理并发。”另外,Go支持多返回值。

Go也提供了闭包和Map,Map可以将一种类型的值(Key)与其他类型的值关联起来,他们都是Go的内建数据结构。Stine还称赞了Go的slice。通过slice,被包装后的数组可以方便地为序列的数据提供接口。在Go中,很多与数组相关的编程都通过slice来实现。

在Go语言中,半自动资源管理是通过defer关键字来提供的。“取代创建资源、使用资源、然后在下面关闭资源的是,我可以马上告诉它,‘在该函数其余功能执行完后再执行这个函数’”,stine说。

Stine强调,Go语言在面对包和模块化的时候比Java更有优势,原因是在Go语言中它们比Java简单得多。“在Go里面,所有类型和函数必须属于一个包,但是每一个源文件必须申明它所属的包。”

本文转自网络,文章版权归原作者所有。暂未找到原作者,如有知晓请留言。

2人推荐
随时随地看视频
慕课网APP