go 语言进阶学习笔记(一)

曹帅_前端工程师 · · 7650 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

一  我先想分析一下现在有哪些公司使用go 语言,go语言在实际开发中有哪些使用场景。我觉得学习一门新语言一个很重要的问题。

Go大概09年面世以来,已经有很多公司开始使用Go语言开发自己的服务,甚至完全转向Go开发,也诞生了很多基于Go的服务和应用,比如Dokcer、k8s等,现在我们看下,有哪些大公司在用Go语言了。

【Google】   

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

【七牛】                 

整个产品(包括基础服务、Web端、统计平台、各类小工具等等),Go代码行数占比:99.9%。七牛算是国内第一家选 Go 语言做服务端的公司。早在2011年,当Go语法还没完全稳定下来的情况下,七牛就已经选择将Go作为存储服务端的主题语言。关于这点,七牛CEO许式伟谈到:编程哲学的重塑是 Go 语言独树一帜的根本原因,其它语言仍难以摆脱 OOP 或函数式编程的烙印,只有 Go 完全放弃了这些,对编程范式重新思考,对热门的面向对象编程提供极度简约但却完备的支持。Go 是互联网时代的C语言,不仅会制霸云计算,10 年内将会制霸整个 IT 领域

【新浪微博】

中间件和弹性调度用 Java 和 Go 编写,微博视频转码及存储服务用 Go 编写。

【京东】

京东云消息推送系统  

【哔哩哔哩】

参考:https://www.zhihu.com/question/65782086 如何看待哔哩哔哩用go语言重写所有的java后台工程?

【百度】

百度运维的一个BFE项目,负责前端流量的接入。他们的负责人在2016年有分享,大家可以看下这个 http://www.infoq.com/cn/presentations/application-of-golang-in-baidu-frontend .其次就是百度的消息系统,从其最近的Golang招聘介绍就可以看出来. > 负责公司手百消息通讯系统服务器端开发及维护

【小米 】

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

Go适合用来做什么  ?

服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。

分布式系统,数据库代理器等 。

网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用、  内存数据库,前一段时间google开发的groupcache,couchbase的部分组建。

云平台,目前国外很多云平台在采用Go开发,CloudFoundy的部分组建,前VMare的技术总监自己出来搞的apcera云平台。  

Go 的优点的体会 ?

为什么我会选择Golang呢?

其实我在做出这个选择之前已经花了大量时间做过详尽调研。 国外如Google、AWS、Cloudflare、CoreOS等,国内如七牛、阿里等都已经开始大规模使用Golang开发其云计算相关产品。 跟着世界级巨人的脚步应该不至于走错方向,而且在学习Golang的过程中,发现Golang入门非常简单 。另外,云风博客中曾说过这样一句话:我发现我花了四年时间锤炼自己用 C 语言构建系统的能力,试图找到一个规范,可以更好的编写软件。结果发现只是对 Go 的模仿。缺乏语言层面的支持,只能是一个拙劣的模仿。参考 https://blog.codingnow.com/2010/11/go_prime.html


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:曹帅_前端工程师

查看原文:go 语言进阶学习笔记(一)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

7650 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传