Go作为Google2009年推出的语言,其被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。

对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。

到现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。

哪些大公司在使用Go语言:

1、Google

这个不用多做介绍,作为开发Go语言的公司,当仁不让。Google基于Go有很多优秀的项目,比如:https://github.com/kubernetes/kubernetes ,大家也可以在Github上 https://github.com/google/ 查看更多Google的Go开源项目。

2、Facebook

Facebook也在用,为此他们还专门在Github上建立了一个开源组织facebookgo,大家可以通过 https://github.com/facebookgo 访问查看facebook开源的项目,比如著名的是平滑升级的grace。

3、腾讯

腾讯作为国内的大公司,还是敢于尝试的,尤其是Docker容器化这一块,他们在15年已经做了docker万台规模的实践,具体可以参考http://www.infoq.com/cn/articles/tencent-millions-scale-docker-application-practice

4、百度

目前所知的百度的使用是在运维这边,是百度运维的一个BFE项目,负责前端流量的接入。他们的负责人在2016年有分享,大家可以看下这个http://www.infoq.com/cn/presentations/application-of-golang-in-baidu-frontend

5、阿里

阿里巴巴具体的项目不太清楚,不过听说其系统部门、CDN等正在招Go方面的人。

6、京东

京东云消息推送系统、云存储,以及京东商城等都有使用Go做开发。

7、小米

小米对Golang的支持,莫过于运维监控系统的开源,也就是 http://open-falcon.com/

此外,小米互娱、小米商城、小米视频、小米生态链等团队都在使用Golang。

8、360

360对Golang的使用也不少,一个是开源的日志搜索系统Poseidon,托管在Github上,https://github.com/Qihoo360/poseidon

还有很多公司我们在这里就不一一列举了,从中我们也可知道Go语言的受欢迎程度。

为什么这么多人偏爱Go语言:

除了上述业内大牛之外,Go语言也颇受国内很多云创业公司的喜爱,例如DaoCloud。那他们为什么会选择Go呢?与其他语言的应用相比,它有什么优点呢?

1、学习曲线

它包含了类C语法、GC内置和工程工具。这一点非常重要,因为Go语言容易学习,所以一个普通的大学生花一个星期就能写出来可以上手的、高性能的应用。在国内大家都追求快,这也是为什么国内Go流行的原因之一。

2、效率

Go拥有接近C的运行效率和接近PHP的开发效率,这就很有利的支撑了上面大家追求快速的需求。

3、出身名门、血统纯正

之所以说Go出身名门,是因为我们知道Go语言出自Google公司,这个公司在业界的知名度和实力自然不用多说。Google公司聚集了一批牛人,在各种编程语言称雄争霸的局面下推出新的编程语言,自然有它的战略考虑。而且从Go语言的发展态势来看,Google对它这个新的宠儿还是很看重的,Go自然有一个良好的发展前途。我们看看Go语言的主要创造者,血统纯正这点就可见端倪了。

Go强大的开发团队

4、自由高效:组合的思想、无侵入式的接口

Go语言可以说是开发效率和运行效率二者的完美融合,天生的并发编程支持。Go语言支持当前所有的编程范式,包括过程式编程、面向对象编程以及函数式编程。程序员们可以各取所需、自由组合、想怎么玩就怎么玩。

5、强大的标准库

这包括互联网应用、系统编程和网络编程。Go里面的标准库基本上已经是非常稳定了,特别是我这里提到的三个,网络层、系统层的库非常实用。

6、部署方便:二进制文件、Copy部署

我相信这一点是很多人选择Go的最大理由,因为部署太方便了,所以现在也有很多人用Go开发运维程序。

7、简单的并发

它包含了降低心智的并发和简易的数据同步,我觉得这是Go最大的特色。之所以写正确的并发、容错和可扩展的程序如此之难,是因为我们用了错误的工具和错误的抽象,Go可以说这一块做的相当简单。

8、稳定性

Go拥有强大的编译检查、严格的编码规范和完整的软件生命周期工具,具有很强的稳定性,稳定压倒一切。那么为什么Go相比于其他程序会更稳定呢?这是因为Go提供了软件生命周期(开发、测试、部署、维护等等)的各个环节的工具,如go tool、gofmt、go test。

这里引用知乎里一个同学对Go评论的话:最开始准备上线的时候其实心里挺忐忑,毕竟一旦出现故障,不仅黑锅得自己背,面子也上过不去啊。还好结果蛮漂亮,自上线后没出现过一次突发性BUG,降低运维难度的同时还减少了机器的负载。我相信这也是大多数人用了Go之后的感言。

Go适合做什么

很多朋友可能知道Go语言的优势在哪,却不知道Go语言适合用于哪些地方。

其实Go语言主要用作服务器端开发,其定位是用来开发“大型软件”的,适合于很多程序员一起开发大型软件,并且开发周期长,支持云计算的网络服务。Go语言能够让程序员快速开发,并且在软件不断的增长过程中,它能让程序员更容易地进行维护和修改。它融合了传统编译型语言的高效性和脚本语言的易用性和富于表达性。

Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,Go语言广泛应用于Web应用、API应用、下载应用等;除此之外,Go语言还可用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。

Go语言的就业前景:

Go语言的安装:

  • 环境安装:

安装包下载地址为:https://golang.org/dl/。

如果打不开可以使用这个地址:https://golang.google.cn/dl/。

各个系统对应的包名:

  • UNIX/Linux/Mac OS X, 和 FreeBSD 安装

1、下载源码包:go1.4.linux-amd64.tar.gz。

2、将下载的源码包解压至 /usr/local目录。

3、将 /usr/local/go/bin 目录添加至PATH环境变量:

注意:MAC 系统下你可以使用 .pkg 结尾的安装包直接双击来完成安装,安装目录在/usr/local/go/ 下。

  • Windows 系统下安装

Windows 下可以使用 .msi 后缀(在下载列表中可以找到该文件,如go1.4.2.windows-amd64.msi)的安装包来安装。

默认情况下.msi文件会安装在 c:Go 目录下。你可以将 c:Goin 目录添加到 PATH 环境变量中。添加后你需要重启命令窗口才能生效。

安装测试

创建工作目录 C:>Go_WorkSpace。

文件名: test.go,代码如下:

使用 go 命令执行以上代码输出结果如下:

链文

Go适合做什么?为何这么多人偏爱Go语言?相关推荐

  1. 16种适合做生意赚大钱的人

    16种适合做生意赚大钱的人 1.很聪明的人. 读书学习好与坏与做生意赚钱完全是两码事.读书人往往呆头呆,墨守陈规.而做生意则需要头脑灵活多变,想到就要做到. 2.办事能力和办事效率很强的人. 一旦有赚 ...

  2. 不适合做软件测试的5类人,你现在看还来得及!

    前言: 软件测试工程师的主要工作职责是,理解产品的功能要求,并对其进行测试,检查软件有没有错误,决定软件是否具有稳定性,写出相应的测试规范和测试案例.简而言之,软件测试工程师在一家软件企业中担当的是& ...

  3. 你知道怎样做好一个老板吗?先来看看不适合做老板的三种人

    穷人和富人最大的差别就是思维方式的不同,就如之前一直听的一个故事:有个穷人吃不饱穿不暖,就去上帝跟前哀求说"这个世界太不公平了,为什么富人天天悠闲自在,而穷人就要天天吃苦受累",上 ...

  4. 什么样的人适合做外贸?能做好外贸?(非外贸零售)

    以下说的是非外贸零售, 外贸零售的话, 只要产品合适, 你打下广告,可能订单就成交了! ******************************************************** ...

  5. 怎么知道自己适合做什么?

    我们从一个人的真实经历开始聊起. 记录片< 败局启示录>里的迈克尔·本特,是一名拳击手.他曾4次获得纽约金手套公开赛冠军,5次获得全国冠军. 到这里你可能会说,他是个成功人士. 但是他却说 ...

  6. 十种人不适合做管理者

    九种人具有领导气质,十种人不适合做管理者! 九种人具有领导气质 1.能带兵打硬仗和胜仗的人 企业在初创和成长阶段,孱弱得如同婴儿一般,走起路来时常要半步跌.这个时候,就要依靠一个自强不息的团队来助跑, ...

  7. 女生适合做 Linux 工程师吗?

    欢迎加入JackTian技术交流群! CSDN海量资源免费下载! 不知从何时起有那么一个不成文的理论:女生不适合做IT.在很多人看来,IT is a men's world,女生学IT是件匪夷所思的事 ...

  8. 什么样的人适合做产品经理

    什么样的人适合做产品经理 各位,见过运气好的,没见过像阿泡运气这样好的吧,还没入职,就被提成了产品部副经理,这不,刚被别人招聘了,现在,周扬就要求我去招聘别人. 当然,按照公司的招聘流程," ...

  9. 《游戏视频主播手册》——2.2 哪些人适合做游戏主播

    本节书摘来自异步社区<游戏视频主播手册>一书中的第2章,第2.2节,作者 王岩,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.2 哪些人适合做游戏主播 据不 ...

  10. 美国教授北大演讲:并不是每个人都适合做学术

    学术是一个生活之道,学术生涯不是一个早九晚五的工作,而是一种让你持续思考的工作和生活.要不要选择学术,要看你是不是从这种学术工作里得到快乐,是不是愿意做这件事情.有一个说法,学术有三个功能:追求真理, ...

最新文章

  1. 链表问题15——将搜索二叉树转换成双向链表(方法二)
  2. DeepMind详解新WaveNet:比原来快千倍,语音更自然 | 附论文
  3. 排优解难 网上邻居常遇故障解决方法
  4. 你的响应阻塞了没有?--Spring-WebFlux源码分析
  5. add_compile_options和CMAKE_CXX_FLAGS的区别
  6. java打印三角形_java基础打印三角形
  7. C语言程序设计与有限元,C语言与有限元程序设计.pdf
  8. uml学习之图书借阅简化用例图创建
  9. HP/Aruba 2620系列交换机DHCP中继配置方法
  10. kmap_atomic的细节以及改进
  11. [JZOJ P1327] [DP]订货
  12. CSocket 和CAsyncSocket类介绍
  13. 简约的网络字节序处理
  14. Python中MySQL查询结果返回类型
  15. 在小写与大写之间加下划线
  16. 润乾报表导出pdf问题
  17. Flea CodeForces - 32C (思维)
  18. 木子-数据库-sqlServer数据库安装方式
  19. 手机里tencent文件夹能删吗_【我要删除tencent文件夹】手机删了tencent文件夹_tencent什么文件夹...
  20. html 怎么传递时间戳,记时 传入 时间戳

热门文章

  1. c 语言温度换算的程序,华氏温度换算公式及C语言转换程序代码
  2. java barchart类,JavaFX BarChart条形图颜色
  3. 校园网如何使用IPv6
  4. 蒲公英智能云数据管理|蒲公英智能云|TARA
  5. php 导出excel 设置列宽,php – 导出Excel文件时调整列宽
  6. 支付宝资金预授权怎么开通详解,芝麻信用免押接口开通,免押领取/免押金租赁设备!
  7. 二进制 转换 .java_如何在Java程序中将二进制转换为十进制?
  8. 字节跳动李航博士入选2019 ACL Fellow,成为第五位入选华人学者
  9. js 微信小程序根据身份证号计算年龄
  10. 常用组合数计算公式及推算