字节跳动需要用go语言。字节跳动已经全面拥抱了go语言,公司内部有上万个微服务使用golang来编写。原因是字节跳动更看重效率,而Go语言上手简单,学习难度低,开发效率高,性能也比较好;另外, Goroutine和Channel这两个神器可以很好解决并发和异步编程的问题。
本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。
随着云计算时代的到来,Go 的应用越来越广泛,已然成为首选编程语言,而且,薪资也水涨船高。
由于Go语言有语法简单、高性能等特点,因此国内外各大公司如谷歌、腾讯、字节等都在使用,特别是字节全面拥抱Go,原因是最初因性能问题将Python换成Go,而Go学习简单,性能高,且部署简单。总的来说Go语言特性如下:
语法简单、学习曲线平缓
高性能、高并发
丰富的标准库
完善的工具链
静态链接
快速编译
跨平台
垃圾回收
举个简单例子
简单两句代码就可以启动一个web服务
package main import ( "net/http" ) func main() { http.Handle("/", http.FileServer(http.Dir("."))) http.ListenAndServe("localhost:8080", nil) }
哪些公司用Go语言
Go语言有哪些公司正在使用,然后主要应用在哪些场景?
字节跳动已经全面拥抱了go语言,公司内部有上万个微服务使用golang来编写,不久前也开源了GO RPC框架KiteX。
字节跳动更看重效率,上手简单,学习难度低。另外, Goroutine 和 Channel 这两个神器可以很好解决并发和异步编程的问题,不得不说,Go 语言是新一代的编程语言。
根据拉勾的招聘数据,腾讯、百度、美团、滴滴、深信服、平安、OPPO、知乎、去哪儿、360、 金山、微博、哔哩哔哩、七牛、PingCAP 等公司也在大星使用Go语言。国外Google、Facebook等公司也在大量使用Go语言。
从业务维度看过语言已经在云计算、微服务、 大数据、区块链、物联网等领域蓬勃发展。然后在云计算、微服务等领域已经有非常高的市场占有率Docker、Kubernetes、 Istio、 etcd、 prometheus 几乎所有的云原生组件全是用Go实现的。
字节跳动为什么全面拥抱GO语言
最初使用的Python, 由于性能问题换成了Go
C++ 不太适合在线Web业务
早期团队非Java背景
性能比较好
部署简单、学习成本低
内部RPC和HTTP框架的推广
我们知道字节跳动已经全面拥抱了go语言,最开始公司的后端业务主要是web后端,早期团队非Java背景,C++不太适合在线Web业务,所以最开始的服务都是python的,大概从2014年开始,随着业务体量的增长,python 遇到一些性能问题。
一些团队初步尝试使用了Go,发现入门很简单,开发效率高,性能也比较好。go语言的开发和部署非常简单,顺带解决了之前python带来
的很头疼的依赖库版本问题。一些业务尝到甜头之后, 后面开始公司级大力推广,诞生 了公司内部的基于golang的rpc和http框架。
随着框架的推广,越来越多的python服务 使用golang重写,至今为止, golang已经成为内部使用率最高的编程语言。