学习任何知识都会有一个学习背景
最近,我们团队乃至我司整个云服务,上go的呼声越来越高!新服务已经开始用go开发,部分现有Java版的服务重构为go也只是时间问题而已,故相关技术积累势在必行!在云网络的分布式服务乃至在一切高并发,分布式后台服务中,golang都有着很大的优势。
据我对国内互联网行业的实际考察,了解,目前国内主流互联网公司都在积极投入go的怀抱……
青云更是全栈使用了go……
还有火的一塌糊涂的docker。
它为云而生。
它为并发而生。
还有go的安全、简洁、高效
有良好的Java、C/C++背景,拿起go很容易。
……
参考:
2017年编程语言排行榜,相比2016,go的飞速上升趋势很明显。而Java有很大份额的缩减……
当然,当前在企业级应用开发中,Java依然占有一席之地。
而个人认为:一个优秀的研发工程师乃至架构师……是不能仅仅局限于一门语言的,语言只是拿来就用的工具,关键还是实战经验和行业内功的修炼。但是对于任何编程语言,不学也不是凭空就会的。
简单说go的历史和应用历史和概况
Go语言是一个年轻的语言,是Google在2009年发布的第二款开源的编程语言,它是编译型语言,专门针对多处理器系统应用程序的编程进行了优化,因此使用Go编译的程序可以媲美C或C++代码的速度。
go还具有类似Java的垃圾回收机制,且实现了数组安全……故go有机的结合了Java和C/C++,使其本身更加安全、高效的同时还天然支持并行进程。
可以说,go是为并发而生的! 既然它是为并发而生,那么在编写高并发程序时,go写起来也十分简洁。
目前流行的go应用
1、Go语言的杀手级应用就是Docker,Docker应该大家都知道,目前在国内火的一塌糊涂
2、Codis,一种Redis的集权解决管理方案,很大部分go开发,由豆瓣推出。
3、
Glow,类似Hadoop,也是一种大数据处理框架,性能非常好,是Hadoop的go的实现。
4、
Cockroach数据库,译作蟑螂……意味着该数据库的生存能力很强,是高稳定性业务环境的首选数据库之一
……
可以选择源码安装、标准安装包(win下),第三方工具安装(brew,install,yum等)。
如果是win,就使用标准包。官网有下载地址。
推荐第三方工具安装,简单。
比如Mac下的Homerbrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install go
You may wish to add the GOROOT-based install location to your PATH:
export PATH=$PATH:/usr/local/opt/go/libexec/bin
==> Summary