golang为什么那么火?


本文摘自php中文网,作者coldplay.xixi,侵删。

golang为什么那么火?

golang那么火的原因:

1, Concurrency的原生支持

通过语言原生的Goroutine和Channel,很好的支持了Concurrency。你可以把Goroutine理解为非常轻量级的Thread。

一个Goroutine只占用2KB的内存,但是一个Thread要占用1MB的内存。

Goroutine的创建、销毁和切换的开销,相对于线程来说特别低。你可以随时起上千个Goroutine,这会让你的编码变得异常简单。

Go runtime处理所有跟Goroutine相关的操作,实际上Goroutine也是跑在操作系统的Thread上。

2, Go的依赖管理

对于C/C++和Java而言,依赖管理是一个让大多数新手抓狂的问题,你需要去编写CMakeLists.txt/Makefile或配置Maven。

Go的依赖管理很简单:

定义一个根目录$GOROOT,来保存你所有的代码。

你的代码和依赖,按照Go的约定,放在固定的相对路径下。go get命令能帮你下载所有依赖的package。

Go也有一些依赖管理的工具,我现在用的是glide。

3, 静态链接

部署C/C++服务的朋友一定很熟悉静态链接和动态链接的概念。服务器部署的时候,动态链接库的管理也是个很麻烦的事情,经常本地可以跑的,换个服务器就不行了。Docker的出现,一定程度上简化了这个问题。

Go默认使用静态链接的方式编译,所以在部署的时候特别方便,只需要拷贝单个二进制文件就可以了。

4, Go的工具链

Go官方支持的工具链很齐全很好用,常用的包括测试,Benchmark,性能调优等。一个成熟的开发流程中,编码只会占用少量时间,更多时间都花费在测试和调优上,所以好用的工具链对提升效率很重要。

5, Go的社区

Go背后有Google撑腰,同时也有一个非常健康和活跃的开源社区。官方package本身就很强大,社区还贡献了大量好用的组件。另外Go的文档和优秀的Blog也很多,学习成本较低。

在后台开发中,除了一些特定的场景需要用C/C++,比如CUDA、CPU密集的或IO密集的以外,其他的都可以尝试用Go。

推荐教程:《Go语言教程》

以上就是golang为什么那么火?的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

leetcode 最接近目标值的子序列和 golang

10 golang map的正确使用姿势

beego项目和go项目 打包部署到linux

golang的内存泄漏分析

golang判断今天星期几

beego-vue-admin基于当前流行技术组合的前后端rbac管理系统:go1.15.x+beego2.x+jwt+redis+mysql8+vue 的前后端分离系统,权限控制采用 rbac,支持

go grpc 调试工具

golang jwt前端怎么验证

【gocn酷go推荐】go程序配置利器-viper库

这一次,彻底搞懂 go cond

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...