go语言到底有什么好处

Python07

go语言到底有什么好处,第1张

1. 部署简单

Go

编译生成的是一个静态可执行文件,除了glibc外没有其他外部依赖。这让部署变得异常方便:目标机器上只需要一个基础的系统和必要的管理、监控工具,完全不需要操心应用所需的各种包、库的依赖关系,大大减轻了维护的负担。

2. 并发性好

Goroutine和channel使得编写高并发的服务端软件变得相当容易,很多情况下完全不需要考虑锁机制以及由此带来的各种问题。单个Go应用也能有效的利用多个CPU核,并行执行的性能好。

3. 良好的语言设计

从学术的角度讲Go语言其实非常平庸,不支持许多高级的语言特性但从工程的角度讲,Go的设计是非常优秀的:规范足够简单灵活,有其他语言基础的程序员都能迅速上手。更重要的是

Go 自带完善的工具链,大大提高了团队协作的一致性。

4. 执行性能好

虽然不如 C 和 Java,但相比于其他编程语言,其执行性能还是很好的,适合编写一些瓶颈业务,内存占用也非常省。

Go作为近两年迅速流行起来的编程语言始终致力于使事情简单化。它并未引入很多新概念,而是聚焦于打造一门简单的语言,让开发者使用起来感觉异常快速且简单。相信有意向深入学习Go语言的小伙伴都在研究Go的开源项目,今天我就把自己觉得不错的6个Go开源项目推荐给大家,希望大家能获得收获和成长。

推荐一:kubernetes 【Star:44418】

Kubernetes基于Docker,其目的是让用户通过Kubernetes集群来进行云端容器集群的管理,而无需用户进行复杂的设置工作。系统会自动选取合适的工作节点来执行具体的容器集群调度处理工作。

推荐二:etcd 【Star:21408】

etcd是由CoreOS开发并维护键值存储系统,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。目前,Google的容器集群管理系统Kubernetes、开源PaaS平台Cloud Foundry和CoreOS的Fleet都广泛使用了etcd。

推荐三:deis 【Star:6093】

Deis是一个基于Docker和CoreOS的开源PaaS平台,旨在让部属和管理服务器上的应用变得轻松容易。它可以运行在AWS、GCE以及Openstack平台下。

推荐四:flynn 【Star:6936】

Flynn是一个使用Go语言编写的开源PaaS平台,可自动构建部署任何应用到Docker容器集群上运行。Flynn项目受到Y Combinator的支持,目前仍在开发中,被称为是下一代的开源PaaS平台。

推荐五:lime 【Star:13775】

相对上面的几款Go语言在云端和服务器端之外,Lime则显得比较特殊。Lime,则是一款用Go语言写的桌面编辑器程序,被看做是著名编辑器Sublime Text的开源实现。

六:revel 【Star:10508】

Revel是一个高生产力的Go语言Web框架。Revel框架支持热编译,当编辑、保存和刷新源码时,Revel会自动编译代码和模板;全栈特性,支持路由、参数解析、缓存、测试、国际化等功能。