说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

选择Go语言的12个理由

HTML文档下载 WORD文档下载 PDF文档下载
Go语言在编程语言的家族中算是一个比较新的成员,弥补C语言的不足并且保持了C的极简主义,专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

编者按:多核化和集群化是互联网时代的典型特征,那语言需要哪些特性来应对这些特征呢?多数语言在语法层面并不直接支持协程,而通过库的方式支持的协程的功能也并不完整,比如仅仅提供协程的创建、销毁与切换等能力。如果在这样的协程中调用一个同步 IO操作,比如网络通信、本地文件读写,都会阻塞其他的并发执行协程,从而无法真正达到协程本身期望达到的目标,而Go语言的出现解决了这个问题。

以下是原文:

Go语言是谷歌推出的一种编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

Go语言在编程语言的家族中算是一个比较新的成员,弥补C语言的不足并且保持了C的极简主义,因此在过去的几年中它的发展却十分迅速。目前在我的工作中Go语言也充当着一个重要的角色!

到底Go语言对企业来说有什么好处?下面简单介绍一下企业选择Go语言的12个理由:

1. 一个完整的语言体系

Go语言已经逐渐发展成一个完整的体系,不论是Go项目自身还是ta的社区都有了极大的发展。

2. C级性能

Go语言目前的性能已经达到了C语言的程度。而且Go语言的性能要比其他企业级语言(如Java、Scala等)更强。随着Go语言版本的更新,它将会变得愈来愈成熟。

"Go is like a better C, from the guys that didn’t bring you C++" — Ikai Lan

3. 快速编译

Go语言编译速度很快,如此快速的编译使它很容易作为脚本语言使用。因为谷歌设计Go语言就是为了解决谷歌自身的问题——数以万计的代码和CPU核心。我自己的也验证过Go语言的编译速度,几乎是和语言同步进行。 

4. 跨平台

Go语言可以在多个平台上进行编译。Go语言设计支持主流的32位和64位的x86平台,同时也支持32位的ARM架构,同时支持多种操作系统,在企业中不需要针对系统环境做额外的部署。

5.测试调优框架

这些基准测试可以查看: my recent post about Golang benchmarking

6. 语言级并行

并发性是能够同时执行多个计算结果。现在并发性已经成为衡量一个语言的关键特性,Go语言就是基因里面支持的并发,可以充分的利用多核,很容易的使用并发。

7. 代码风格 - gofmt

通过谷歌的页面可以看见Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得如此的简单,代码格式一模一样,想不一样都很困难

8.内置文档 - godoc

企业中API和程序的相互协作以及和第三方协作是非常重要的,Go语言可以建立一个代码的内置文档-godoc,可以分享将资源在代码中进行分享。

9.自动垃圾回收

在C和c++程序员花费很多的时间和精力分配和释放内存,R语言则可以消除这种情况,确保程序员可以集中精力进行更多的生产任务。当然垃圾收集也有自身的问题,不过这些都是通过语言来实现的,不需要程序员进行额外的工作。

10. 丰富的库

一个丰富的库对于任何一种语言都是非常重要的,可以通过 the list of packages in Go查看Go语言的库,包括压缩、加密、大量的数据结构、SQL语句、JSON和XML解析、模板、网络等等。

11. 有趣的语言,低门槛学习条件

有一些优秀的程序员可以学习多种语言,他们是非常优秀的。但是作为一个普通人,学习语言还是很痛苦的,但是Go语言有C的基因,学习门槛很低,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等。

"After Go, programming in anything else seems as difficult as balancing the State of California’s budget." — Charles Thompson

12. 经过线上大规模考验的成功案例

我研究越多,越让我印象深刻。还有很多好处我没有列出来,因为实在是太多了。通过一些具体的案例来展示一下吧。 

iron.io

"In retrospect, it was a great decision to choose Go as it's allowed us to build great products, to grow and scale, and attract grade A talent." — Read Case Study

bitly.com

"We identified early on that Go had all the makings of a language that could supersede some of the places we would have traditionally turned to C and some of the places where we wanted to move away from Python." — Read Case Study

torbit.com

"We process over 6 billion performance metrics a day and our goal is to keep our customers’ data safe forever." — Read Case Study

conformal.com

"In summary, Go makes hacking fun again by doing away with intellectual masturbation and terrible, terrible tools. It compiles super fast and runs at native speeds. Any C expert can pick it up over the course of a few weeks and with its awesome data representation features I believe we could rewrite a product such asCyphertite in 25% as many lines of code." — Read Case Study
原文链接:12 Benefits of Golang For Enterprise Systems   (编译:刘亚琼/审校:仲浩) 


以“云计算大数据 推动智慧中国”为主题的第六届中国云计算大会将于5月20-23日在北京国家会议中心隆重举办。产业观察、技术培训、主题论坛、行业研讨,内容丰富,干货十足。票价优惠,马上报名
【MDCC 2014】高德LBS大赛闭幕式暨颁奖典礼:下一个50亿应用花落谁家? MDCC 2014移动开发者大会开幕:全生态系统齐聚 开发者成主角 蓝港互动有限公司董事长&首席执行官王峰:移动互联网泛娱乐化趋势 多盟联合创始人&总裁张鹤:多盟DSPAN助力开发者高效变现 创新工场联合创始人汪华:移动互联网时代的跃迁式增长 阿里巴巴集团UC移动事业群总裁俞永福:AMAP Inside——更专业、更开放 《程序员+》移动应用上线 启动“2014 MDCC十大人气应用/产品评选活动” 微软开发体验与平台合作事业部大中华区DX部门总经理Srikanth Raju:基于云的跨平台开发 Facebook平台工程合作部亚太区总经理张博:通过Facebook构建下一代移动应用 Vungle工程副总裁Wayne Chan:移动视频广告的未来 友盟副总裁焦岳:2014移动互联网行业趋势&大数据的行业价值与运营支持 联发科技创意实验室副总裁Marc Naddell:以小博大的可穿戴方案 用友软件股份有限公司高级副总裁谢志华:企业互联网移动化触手可及 【MDCC 2014】英雄会晚宴——厉兵秣马,再上征程 移动开发技术与平台峰会(上):流量优化、数据管理、IM、LBS与跨平台开发 【推广、盈利与投资论坛】探寻推广与盈利新趋势 【企业移动化论坛】翻山越岭,创新突围企业移动化 解读微信与开发者双赢的开放能力 2014年10月操作系统份额:Windows 8.1份额喜人,Linux跌惨了 智能硬件峰会(下):苹果、微信、小米带给移动医疗产品开发的启示 移动游戏峰会(下):从端游转型手游、如何做一款不一样的游戏 移动游戏峰会(上):小团队如何做出大制作、游戏防作弊攻防战 深圳微信开发者大会:拒绝概念 这次只谈“怎么做” AMD应邀出席HPC China 2014,重磅推出新一代Firepro-S系列高性能显卡 你就是主角,MDCC 2014交流对接活动回顾(组图) 解读最具O2O属性—哈根达斯微信企业号的成功之道 值得Java开发者参与贡献的十个开源项目 LokiJS:纯JavaScript实现的轻量级数据库 OpenStack第七次北京Meet Up:谈私有云现状 中国电信携手电商打造跨界O2O联盟 【MDCC 2014】移动开发技术与平台峰会(下):系统演进、应用数据泄露风险 有个带有自动生成id的表,做数据窗口时,不能update(), 各位大吓我有一问,今天跟大争明白,大家快来给我做证啊!!! 查找相同字段的sql语句怎么写? 初学c#,感觉完全是在盗用java! 如何将avi文件转换为mpeg文件,帮帮忙了! 关于TPersistentClass使用时遇到的难理解的问题? 有没有谁用起过合计字段? 怎么样成为程序员大本营的用呀! 寻找 日语版的win 2000下载地址 机器在启动是会出现boot.ini非法,由c:/winnt直接启动,请问如何解决呢 Win2000和SCO UNIX共存问题? MSSQL中text数据类型,在JAVA中对应的是哪一个? 怎样才能不让用户复制文档? 如何在VB自定义过程或函数中传递数组? 在VC6中如何使用数据网格 需要类似pcanywhere or romoteanywhere中远程抓屏的源代码?方法提示也可以! 关于数据库中图象的存取问题,100全送! PowerDesigner8 显示与oracle连接信息? PopupMenu如何知道是由哪一个控件激活的(几个控件共用一个PopupMenu) 如何通过序数从DLL引出函数表? 有关datagrid的border问题? 在pb中用SetPicture(lb_image)当lb_image为空时picture的图片不变 急!!急!!如何用MultiByteToWideChar()实现Unicode编码?? 请问:这是叫什么服务来着? 请问有没有有关工作流技术的理论和资料 windowsXP与Visual C++问题??? 发布目录在哪里问题!!!!急急急 请教一个entity bean的问题 调查一下,微软的工程师工资有多少呀?做什么软件的工资最高? idhttp.get可以获得htm 文件,我现在想得到gif文件,怎么办? 不知大家有没有听说过Tapestry,是一个有关权限管理的开发原代码 请问C标准函数里是否有这样的函数,可以删除文件名相同但忽略扩展名的函数,如可以同时删除A1.LIN和A1.SA?谢先!!! 如何修改硬盘序列号(不是卷序列号,而是出厂序列号)? MS EXCHANGE SERVER 2000 在WEB页面更改MAILBOX的密码 关于string的简单问题 String和StringBuffer的具体区别是什么? 请问哪里有<<com原理与应用 >>电子书下载?谢谢 高级问题:如何实现在应用程序中动态布置控件。(分数不是问题) TList问题 请问: 我进不了windows2000 advanced server!!怎么办? 北京程序员俱乐部的相关问题 如何修改硬盘序列号(不是卷序列号,而是出厂序列号)? 请问C标准函数里是否有这样的函数,可以删除文件名相同但忽略扩展名的函数,如可以同时删除A1.LIN和A1.SA?谢先!!! 如何用DAO调用MSSQLSERVER中的存储过程获得结果集? sybase的字符串连接符是哪个 如何取得上网ip?(不是本地IP),在局域网中,客户机通过主机代理上网,能否确定客户是否连在网上? 请问网络高手--怎样知道对方的物理地址(知道对方的IP)??? 图片存在数据库中,在asp页上如何让其显示出来!? 如何把文件或图片以Blob类型存入Oracle数据库,并在JSP中把数据库中的Blob数据以最初的文件格式读出来??? 1.在数轴上一个点与原点的距离是根号3,则这个点表示的数是()下列说法正确的是( )A.一个正数的平方根有两个,它们互为相反数 B.负数没有立方根 C.如果一个数有立方根,那么它一定有平 有关孝顺和感恩的文章 求关于微笑的作文(记叙文 is our smart teacher english 连词成句 设m,n是关于方程x2-2ax+a+6=0的两个实根,则(m-1)2*(n-1)2的最小值是紧急 数轴上,到原点之间的距离为根号5个单位长度的点表示的数是什么?就一个点 ,是根号5和根号5的相反数码? 解方程组 m/3-n/4=3和3/2-N/3=13 是m/3-n/4=3和m/2-N/3=13 若m ,n是关于x的方程x^2-2ax+9的两个实根,则(m-1)^2+(n-1)^2的最小值为(要过程) 在数轴上,到原点距离为根号5个单位长度的点表示的数是? 二元一次方程组:m/5-n/2=-2 ,2(m+n+5)-(-m+n)=23 用初一知识解,要步骤m/5 - n/2=-2 ,2(m+n+5)-(-m+n)=23 甲乙两人同时解方程x^2+px+q=0,甲抄错了一次项系数,得两根为2,7.乙抄错了常数项,得两根为3,-10.求p,q的 方程 x的2次方加px加q等于0.小花看错了p 得跟1 、负3.小品看错了q得根4、负2.qiu 求原方程的根 3(m+n)-2(m-n)=1和4(m+n)-3(m+n)=1这个方程组的解是?急 已知双曲线c1:x^2/a^2-y^2/2a^2=1(a>1),抛物线c2的顶点在原点O,且c2的焦点是c1的右焦点. 在解方程x^2+px+q=0时 小张看错了p 解方程组:(m+n)-2(m-n)=1 3(m+n)+2(m-n)=3 (m+n)-2(m-n)=1 3(m+n)+2(m-n)=3 是这两个方程 甲、乙两同学解方程x∧2-px+q,甲看错了一次项系数,解得两根为2和3,乙看错了常数项,解得两根为4和-9,则原方程为 奖励自己(500字以上,越少越好)记叙文 带老师评语的 用加减消元法解方程组 5(m-1)=2(n+3) { 2(m+1)=3(n-3) 已知F1,F2分别为椭圆C1:y^/a^2+x^2/b^2=1的上下焦点,其中F1也是抛物线x^2=4y的焦点,点M是C1,C2在第二象且MF2=5/31.求椭圆C1的方程2.已知点p(1,3)和圆O:x^2+y^2=b^2,过点P的动直线l与圆O相交于不同的两 关于母爱的记叙文 450字左右.是记叙文哦! 暑假趣事作文600字! 已知F1,F2分别为椭圆C1:y^/a^2+x^2/b^2=1的上下焦点,其中F1也是抛物线x^2=4y的焦点,点M是C1,C2在第...已知F1,F2分别为椭圆C1:y^/a^2+x^2/b^2=1的上下焦点,其中F1也是抛物线x^2=4y的焦点,点M是C1,C2在第二象 求篇记叙文 500字左右 附带评价 history our teacher me happy very makes 连词成句 暑假趣事400字作文 若c(c≠0)是方程ax^2+bx+c=0的一个根,求ac+b的值 center,our,welcome,sports,to(连词成句) 暑假趣事作文400字,要通过一件事,讲一个道理的, 若c(c≠0)是方程ax^2+bx=0的一个根,求ac+b的值若c(c≠0)是方程ax^2+bx=0的一个根,求ac+b的值 boys to welcome girls our school and(,.)连词成句 若x(ax的3次方+x的2次方+b)+3x-2c=x的3次方+5x+4成立,求a、b、c的值. 如果x=1是方程ax^2+bx+3=0的一个根,求(a-b)^2+4ab的值如题.急!求解答过程 谢谢! We _____our teachers Happy Teacher's DayA.want B.tell C.hope D.wish 已知椭圆C1,抛物线C2的焦点均在x轴上,c1的中心和C2的顶点均为原点0,从每条曲线上各取两个点,将其坐标记录与下表中.1)求c1,C2方程x 3 -2 4 根号下2y -2根号下3 0 -4 根号下2/2 谁能给我一篇初二600字以上的记叙家庭生活的记叙文?素材也行,一定是要在家里发生的喜怒哀乐等事 急需一篇写暑假趣事的文章 600字左右 要求写事 暑假趣事作文 450字左右要现实一点的 450字左右 写好点 跪求记叙文选材:校园生活、家庭生活 还求文章最好的开头、结尾方式 our school,come,see,yourself,to,for,and.(连词成句) _______________________________ 暑假趣事作文450个字左右 急需一篇题为谁能告诉我的600字记叙文,要求是文中要有矛盾出现,可以是家庭生活中的,两种观点对立,最后得出种正确的结论. can,school,to,next,you,come,our,week?连词成句 暑假趣事作文450字!急 若方程(x+2)(x-3)=0与ax^2+bx+c=0的解相同,且a=2,求a+b+c的值 Sir ,I'm here.I____asking your parents to come to our schoolbut i'd like to hear your opinion first.a.am going to consider b.have been considering 为什么A项不可以呢 暑假趣事450字作文 若关于x的方程ax^2+bx+c=3的解是x=-1,求|a-b+c-5|的值 Our parents (come and visit our school ) on this day.(对刮号部分提问) 不论m取何值时,关于x的方程1/4x平方-(√2 )mx-3=0总有两个不相等的实数根. 数轴上到原点的距离等于根号5的点有几个 f(x)是二次函数,方程f(x)=0有两个相等实根,且f'(x)=2x+2,则f(x)= 作文 暑假假期见闻600字别写的太好也别太烂就行BS一切复制粘贴BS一切复制粘贴BS一切复制粘贴BS一切复制粘贴BS一切复制粘贴BS一切复制粘贴BS一切复制粘贴BS一切复制粘贴BS一切复制粘贴BS一 已知a,β是方程x^2-2ax+6x+a=0的两实根,求(a-1)^2+(β-1)^2最小值 在数轴上,到原点距离为根号5个单位的点表示的数是___. 关于见闻暑假的文章500字,500字的“暑假记忆”的话题, 那一抹阳光的芳香 作文700字 记叙文 已知5/2为方程2x^2-px+q=0和2x^2+(p-2)x+5=0的解,分别求出两方程的剩余解.已知5/2为方程2x^2-px+q=0和2x^2+(p-2)x+5=0的解,分别求出两方程的剩余解. 甲乙两个同学解放程X^2+PX+Q,甲看错了一次项,的根2和7,乙可那错了常数项,得根1和-10,则原方程为 求一篇作文,书写初三生活每一页,700字左右,要记叙文
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘