go语言编程工具 go语言编程之旅一起用go做项目( 二 )


8、 Heka:mazila开源的日志处理系统 。
9、 Cbfs:couchbase开源的分布式文件系统 。
10、 Tsuru:开源的PAAS平台 , 和SAE实现的功能一模一样 。
11、 Groupcache:memcahe作者写的用于Google下载系统的缓存系统 。
12、 God:类似redis的缓存系统 , 但是支持分布式和扩展性 。
13、 Gor:网络流量抓包和重放工具 。
以上的就是关于go语言能做什么的内容介绍了 。
go是什么编程语言?主要应用于哪些方面?Go语言由Google公司开发go语言编程工具 , 并于2009年开源go语言编程工具,相比Java/Python/C等语言,Go尤其擅长并发编程,性能堪比C语言 , 开发效率肩比Python,被誉为“21世纪的C语言” 。
Go语言在云计算、大数据、微服务、高并发领域应用应用非常广泛 。BAT大厂正在把Go作为新项目开发的首选语言 。
Go语言能干什么?
1、服务端开发:以前你使用C或者C++做的那些事情 , 用Go来做很合适,例如日志处理、文件系统、监控系统等;
2、DevOps:运维生态中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go语言开发;
3、网络编程:大量优秀的Web框架如Echo、Gin、Iris、beego等,而且Go内置的 net/http包十分的优秀;
4、Paas云平台领域:Kubernetes和Docker Swarm等;
5、分布式存储领域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;
6、区块链领域:区块链里面有两个明星项目以太坊和fabric都使用Go语言;
7、容器虚拟化:大名鼎鼎的Docker就是使用Go语言实现的;
8、爬虫及大数据:Go语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理 。
Go语言有什么好用的IDE吗我喜欢jetbrains系列的IDE+go插件 。不过我要说的是这个问题主要看你的观点如何 。
说eclipse:
构建方式是使用go install 命令,每一次编译运行都是go install 。这样的好处就是如果你有很多的包,下载下来并没有编译 , 这样每次编译速度是很快的 。而且(?。ゞo install 符合go官方的项目结构,官方说过了,一个go的项目应该是以个gopath,包含src,pkg,bin三个主要目录 。所以说go install个人认为才是主要的go编译方式 。
说eclipse的缺点:
其实eclipse插件的go编译方式,还有目录结构,项目结构,都是非常完美的?。。。≌娴暮芡昝溃】墒?,他的代码提示 , 太差件!大括号都不能自动补全 , gdb 32bit 64bit兼容问题,eclipseC++ 没有html js插件,需要手动安装 , 几乎不能开箱即用 。不过如果你是开发算法,数据处理,还是推荐eclipse的,毕竟其他都无关紧要 。
说jetbrains:
说先说clione肯定不适合,新建项目没有向导,导致改成go项目各种不开心,比如图标对于我来说就无法接受go lib 不是小耗子~这是次要的,重要的是各个文件都是灰色的(没有在cmake中包含的结果),然后说剩下的,phpstorm这个不说了,估计很少有人插件按在这里,webstorm,体验也不是很好,idea?体验很好,可是毕竟比较重,尤其是现在加入了自家的K啥玩意(无意冒犯,没记住单词)~可是话说回来,go跟C系列IDE配合才是最佳,跟java系列一点不搭关系,用idea似乎有点格格不入,但是!idea支持新建项目向导,lib的图标也很清晰,最后还是选择idea吧,期待clion的强大起来!
再说jetbrains系列缺点:
插件的构建方式是go buiild 这个让人很不爽,我们几乎不确定会构建到什么地方去 , 还要每次设置一下run配置 。这个可能无关紧要,毕竟不是什么大的毛?。墒莋o build不能缓存.a文件,直接构建的结果就是很多第三方包的情况下很慢!所以建议安装包的时候手动install 一下解决这个问题 。自带代码格式化,这个格式化跟go 格格不入 , 总的来说就是蛋疼 , 心碎,菊花痒 。

推荐阅读