您好,欢迎访问一九零五行业门户网

golang为什么那么火?

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为什么那么火?的详细内容。
其它类似信息

推荐信息