C++适合本地程序的开发.Go语言适合网络程序和本地程序的开发.Go的优点:垃圾回收,语意明确,格式统一.?Go的缺点:效率目前没有C++高,但对于桌面程序而言,效率问题不大,因为硬件已经很快了.c++过于复杂了,加入很多炫技的内容.这些内容脱离了事情的本质.
最明显的就是所谓的面向对象.基于面向对象的工程如果足够大的情况下,会带来很大的耦合度,如果再加上内存管理,多线程等等.项目后期基本上没办法维护和增加功能.
关于c++的语言复杂性,你可以问知乎上的任何一位高手.没一个敢说自己精通c++.你也可以去看一下所有的c++编绎器,没有任何一个敢说自己完全实现了c++的标准.不同的编绎器之间实现细节又不同.所以功能再强大没有实用性,就失去了意义,只会制造更多的问题.
Go语言在云计算、大数据、微服务、高并发领域应用应用非常广泛.BAT大厂正在把Go作为新项目开发的首选语言.
Go语言能干什么?
①.、服务端开发:以前你使用C或者C++做的那些事情,用Go来做很合适,例如日志处理、文件系统、监控系统等;
就目前来看还是很有前景,因为越来越火了,不过他的应用领域还是局限在高并发处理和网站开发,毕竟是后起之秀所以在其他桌面程序领域没那么容易普及和超越c++,找工作就不推荐学go
小型项目你甚至不用框架,用net/http http - The Go Programming Language
常用库也成熟了 Top - Go Search
golang的web后端即使不concurrent也比php,ruby,python快很多很多
golang里用concurrent真的非常方便,非常非常快,超大web项目golang scale成本低
如果你想,golang的部署可以比php更方便,使用go get和http.ServeAndListen()可以不用nginx和apache
对于文件改动重新编译其实并不是大问题,看pilu/fresh - GitHub,其实你自己写shell脚本(也可以直接用go写,因为它本身就是系统语言)监控文件系统改动然后自动重新build,即使是C/C++的项目这也不是大问题,人们不用C/C++写web是因为它们不是写web app的最佳选择
golang写的代码编译通过后,要比scripting language鲁棒,因为go compiler强制一些最佳实践
Go语言自亮相以来并没有展示一个明确的方向,Google员工将Go语言称为一个"试验性语言",称其试图融合Python等动态语言的开发速度和C或C++等编译语言的性能和安全.一位Go语言的支持者概括而言Go语言如下:简单、快速、安全、并发、快乐编程、开源;但Go语言缺乏方向以及其"集大成者"的尝试很容易会导致其学猫不成学狗也不成,沦为四不像.尽管如此,编者仍然觉得Go语言有相当大的潜力:很多开发者对它感兴趣——不仅它的最初设计者阵容强大,而且在参与修改源代码的人群中也不乏大牛级人物.这很有可能帮助Go语言找到适合自己的方向,开拓系统编程的新方向.
Kubernetes基于Docker,其目的是让用户通过Kubernetes集群来进行云端容器集群的管理,而无需用户进行复杂的设置工作.系统会自动选取合适的工作节点来执行具体的容器集群调度处理工作.
etcd是由CoreOS开发并维护键值存储系统,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性.目前,Google的容器集群管理系统Kubernetes、开源PaaS平台Cloud Foundry和CoreOS的Fleet都广泛使用了etcd.
Deis是一个基于Docker和CoreOS的开源PaaS平台,旨在让部属和管理服务器上的应用变得轻松容易.它可以运行在AWS、GCE以及Openstack平台下.
Flynn是一个使用Go语言编写的开源PaaS平台,可自动构建部署任何应用到Docker容器集群上运行.Flynn项目受到Y Combinator的支持,目前仍在开发中,被称为是下一代的开源PaaS平台.
以上就是土嘎嘎小编为大家整理的go语言框架知乎相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!