那么多编程语言,为什么选择Go

出身名门

在你阅读以下内容时,我不得不告诉你一个事实,编程语言Go正在成为一颗冉冉升起的新星,为什么这样说,出身于Google,它是名门出身,它的作者可以说称得上是神级一样的人物。现在让我们看看它的作者:

image
  • 肯·汤普逊:设计了B语言和C语言,创建了Unix和Plan 9操作系统,1983年图灵奖得主,Go语言的共同作者。
  • 罗布·派克:Unix小组的成员,参与Plan9和Inferno操作系统,参与 Limbo和Go语言的研发,《Unix编程环境》作者之一。
  • 罗伯特·格里泽默:制作Java的HotSpot编译器和Chrome浏览器的JavaScript引擎V8
  • 布拉德·菲茨帕特里克:LiveJournal的创始人,著名开源项目memcached的作者。

看到这是不是觉得这个十几岁的Go少年背景如此之大,其实Go语言的前身仅仅是大佬们在实验室中的一个实验品,后来在研究的过程中大佬们逐渐发现它的优势,最终Go正式版在2012年诞生,并迅速登上热门语言的话题。有调查显示在2019年程序员最想要学习的编程语言Go荣登第一,其次是Kotlin和Python。

image

哪些公司在用Go

Google

不得不说,作为开发Go语言的公司,在实践Go语言上做出了不少的努力。而且也开源了很多优秀的项目,

image

七牛云

作为国内领先的企业级云服务商,七牛云几乎所有的项目都用Go语言编写。

image

腾讯

腾讯可以说是国内的大公司,在Go语言的应用方面主要是有关Docker容器方面。

image

今日头条

如今大家都在用的今日头条曾经使用Go 语言构建了大规模的微服务架构

image

当然还有很多,不仅仅是国内的大公司还是国外的大公司,而且有很多小的公司正在实践Go,也正是看中了Go的未来趋势,所以才会广泛的传播和应用。

Go优势

快速上手

Go不是一种解释型语言——它是编译型的。这大大地(drastically)减少了在运行中突然出现的Bug。这一点有点像C语言,代码先被编译,错误会在编译时出现并得到处理,然后才能运行;但是,它比C更高级,比JavaScript和Python更具生产力。

性能

Go语言同C语言一样可以直接将程序编译成二进制文件,并且使用Go编译的程序可以媲美C和C++的速度,众所周知,Python由于简单易用,在数据分析方面有着很好的优势,但唯一的缺点就是速度慢,而Go语言早早的就站在了巨人的肩膀上,不仅速度快,而且也具有简单易用易学的特性,你或许听说过学习Java至少要学习半年入门基础,而Go仅仅需要一个星期左右,就可以编写出一个很好的程序。

并发

Go 可以说最大的特点之一就是它是原生支持并发的,在Go中,用户可以轻轻松松的运行几千甚至上万的并发,Go的协程模型充分利用的CPU资源,因此Go广泛应用在服务端的应用

网络编程

在互联网时代,网络编程出现爆发式的增长,go语言具有天然的web优势,提供了丰富的有关网络编程的接口,而不再依靠第三方服务,仅仅七八行就可以启动一个Web程序。

除了以上这些Go还有很多优势,比如延迟defer机制,交叉编译使得它成为第一门完全支持 UTF-8 的编程语言。可以说Go 语言做到了真正的国际化。

云计算时代

Go 语言被称为云计算时代的 C 语言,它在软件开发效率和运行效率之间做出了绝佳的权衡。这使得它既适应于互联网应用的极速开发,又能在高并发、高性能的开发场景中如鱼得水。

Go的使用场景

Go在Web 系统、API 应用、下载应用、游戏后端,以及各种服务器编程都有涉猎,Go 还适合分布式系统、网关类系统(微服务网关)、数据库代理器、基础服务等的开发。

高并发领域

解决秒级高并发,可以说,只要有高并发高可用需求的服务端程序都可以用 Go 开发。

大数据领域

数据挖掘(尤其是爬虫)、数据分析、数据存储方面,Go 都非常适合。Go 和 Python 也是十分优秀的组合。海量存储有很多,比如 InfuxDB、CockroachDB、TiDB。

区块链技术

因为区块链系统开发涉及到算力及应用,虽然使用C++语言可以解决,但始终过于繁琐,Java、Python等虽然能降低开发成本,但是性能及区块链的算力又跟不上,所以很多企业在开发区块链技术的时候,就会选择开发成本低并且开发性能客观的Go语言作为首选语言。

微服务领域

在构建微服务方面,由于Go天然的网络优势,使他可以快速部署,测试微服务,对于微服务的开发似乎有着原生的支持。

最后

最后总结部分Go语言的开源优秀项目,可以说这些项目覆盖了方方面面,包括了监控系统,容器技术,大数据,微服务,分布式,区块链等等下面列举部分

项目 简介
Yoke Yoke 是 Postgres 的高可用集群,具有自动切换和自动集群恢复。Postgres冗余/自动故障转移解决方案,提供一个高可用PostgreSQL集群的简单管理。
Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包装系统。
micro Micro是一个专注于简化分布式系统开发的微服务生态系统。可插拔的插件化设计,提供强大的可插拔的架构来保证基础组件可以被灵活替换。
hugo Hugo是由Go语言实现的静态网站生成器;简单、易用、高效、易扩展、快速部署;相比于Hexo、Jekyll,hugo的优势是生成速度极快。

更多内容请参考go语言优秀开源项目汇总

推荐阅读


本文欢迎转载,转载请联系作者,谢谢!


打开微信扫一扫,关注微信公众号,和我一起成长
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容