Go语言是什么?

发布于 1 年前 作者 phonegap100 258 次浏览 最后一次编辑是 1 年前 来自 分享

go语言教程网盘下载地址链接https://pan.baidu.com/s/1na_0hrACjAnok6OZFc9bKw 提取码:5w5k

go语言教程在线学习地址https://www.bilibili.com/video/BV14T4y1g7h9?p=1

1、Go语言是什么

Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。

根据Go语言开发者自述,近10多年,从单机时代的C语言到现在互联网时代的Java,都没有令人满意的开发语言,而 C++往往给人的感觉是,花了100%的经历,却只有60%的开发效率,产出比太低,Java和C#的哲学又来源于C++。并且,随着硬件的不断升级,这些语言不能充分的利用硬件及CPU。因此,一门高效、简洁、开源的语言诞生了。

Go语言不仅拥有静态编译语言的安全和高性能,而且又达到了动态语言开发速度和易维护性。有人形容Go语言:Go = C + Python , 说明Go语言既有C语言程序的运行速度,又能达到Python语言的快速开发。

Go语言是非常有潜力的语言,是因为它的应用场景是目前互联网非常热门的几个领域,比如WEB开发、区块链开发、大型游戏服务端开发、分布式/云计算开发。国内比较知名的B站就是用Go语言开发的,像Goggle、阿里、京东、百度、腾讯、小米、360的很多应用也是使用Go语言开发的。

2、Go语言成功的项目

nsq:bitly开源的消息队列系统,性能非常高,目前他们每天处理数十亿条的消息

docker:基于lxc的一个虚拟打包工具,能够实现PAAS平台的组建

packer:用来生成不同平台的镜像文件,例如VM、vbox、AWS等,作者是vagrant的作者

skynet:分布式调度框架

Doozer:分布式同步工具,类似ZooKeeper

Heka:mazila开源的日志处理系统

cbfs:couchbase开源的分布式文件系统

tsuru:开源的PAAS平台,和SAE实现的功能一模一样

groupcache:memcahe作者写的用于Google下载系统的缓存系统

god:类似redis的缓存系统,但是支持分布式和扩展性

gor:网络流量抓包和重放工具

3、哪些大公司在用go语言?

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

Facebook Facebook也在用,为此他们还专门在Github上建立了一个开源组织facebookgo,大家可以通过 https://github.com/facebookgo 访问查看facebook开源的项目,比如著名的是平滑升级的grace。 腾讯 腾讯作为国内的大公司,还是敢于尝试的,尤其是Docker容器化这一块,他们在15年已经做了docker万台规模的实践

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

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

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

小米 小米对Golang的支持,莫过于运维监控系统的开源,也就是 http://open-falcon.com/ 此外,小米互娱、小米商城、小米视频、小米生态链等团队都在使用Golang。

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

4、Go语言前景

go1.png

回到顶部