Go语言的开源项目

Python010

Go语言的开源项目,第1张

1.Docker项目

网址为 https://github.com/docker/docker 。

介绍:Docker是一种操作系统层面的虚拟化技术,可以在操作系统和应用程序之间进行隔离,也可以称之为容器。Docker可以在一台物理服务器上快速运行一个或多个实例。例如,启动一个Cent OS操作系统,并在其内部命令行执行指令后结束,整个过程就像自己在操作系统一样高效。

2.golang项目

网址为 https://github.com/golang/go 。

介绍:Go语言的早期源码使用C语言和汇编语言写成。从Go 1.5版本自举后,完全使用Go语言自身进行编写。Go语言的源码对了解Go语言的底层调度有极大的参考意义,建议希望对Go语言有深入了解的读者读一读。

3.Kubernetes项目

网址为 https://github.com/kubernetes/kubernetes 。

介绍:Google公司开发的构建于Docker之上的容器调度服务,用户可以通过Kubernetes集群进行云端容器集群管理。

4.etcd项目

网址为 https://github.com/coreos/etcd 。

介绍:一款分布式、可靠的KV存储系统,可以快速进行云配置。

5.beego项目

网址为 https://github.com/astaxie/beego 。

介绍:beego是一个类似Python的Tornado框架,采用了RESTFul的设计思路,使用Go语言编写的一个极轻量级、高可伸缩性和高性能的Web应用框架。

6.martini项目

网址为 https://github.com/go-martini/martini 。

介绍:一款快速构建模块化的Web应用的Web框架。

7.codis项目

网址为 https://github.com/Codis Labs/codis。

介绍:国产的优秀分布式Redis解决方案。

8.delve项目

网址为 https://github.com/derekparker/delve 。

介绍:Go语言强大的调试器,被很多集成环境和编辑器整合。

项目推倒重构是项目开发大忌,一方面我们要尽量避免做项目推倒重构,尽量在前期就规划好,另一方面,我们又希望项目能常做小重构,这对项目可持续性开发是很有帮助的。而语言的重构,把Java项目用Go语言重写一遍,无疑是一次重大的推倒重来。

一、Go语言的优势在哪里

Go语言领先于Java的最大优势,就在于快。Go语言会被编译成机器代码,直接执行;Java语言则使用JVM运行其代码,这比Go语言要慢了很多。另外,Java语言的内存管理,相比于Go语言,也复杂得多,而内存管理,不管对于程序运行,还是对程序员的开发,都极为重要。最后,Go语言没有引用只有指针,这比Java语言处处引用,又领先了一个身位。

二、Go语言为什么更适合开源

开源,也就是开放源代码,最大的好处在于,可以利用全世界的程序员资源,来帮助你完善你的产品,开发新需求,或者修复产品BUG。这对产品的可持续发展,是非常有帮助的,很多企业纷纷将自己的产品开源,其实就是这个道理。而Go语言更易学,更易避错,更易阅读等特点,就决定了它更适合用来做开源项目。

三、Java语言的优势

Java语言是目前软件开发中使用率最广泛,也是最重要的程序之一,它的地位,绝对不是目前Go语言可以比拟的。Java在WEB应用的开发中,有着很重要的地位。但是,Java语言相对复杂的并发设计,相当庞大的项目体系,使其在开发、测试阶段都略为复杂,在某些方面已经逐步落后于其他语言。