先来个wiki上关于go的解释:
php
Go是Google开发的一种编译型,並發型,并具备垃圾回收功能的编程语言。html
罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go语言,稍后Ian Lance Taylor, Russ Cox加入项目中。Go语言是基于Inferno操做系统所开发的。Go语言于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后追加Windows系统下的实现。java
--《Go - 维基百科,自由的百科全书》node
好吧,这是干啥的?咱们有了C++,java,…………各类语言以后,为啥又要来个新的?
python
十年以来,主流的系统级编程语言并未出现过,但在这期间,计算环境已经发生了巨大的变化。如下是一些趋势:git
计算机的速度变得极快,但软件开发还不够快。github
在今天,依赖管理成为了软件开发中一个大的部分,但C传统语言的“头文件”与清晰的依赖分析——以及快速编译背道而驰。golang
对于像Java和C++那笨重的类型系统的反抗愈来愈多,这将人们推向了Python和JavaScript之类的动态类型语言。编程
流行的系统语言对于像垃圾回收与并行计算那种基本思想的支持并不算好。服务器
多核计算机的出现产生了一些麻烦与混乱。
咱们相信这值得从新尝试一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它须要知足如下几点:
它能够在一台计算机上用几秒钟的时间编译一个大型的Go程序。
Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。
Go的类型系统没有层级,所以不须要在类型之间的关系定义上花费时间。此外,尽管Go是静态类型的, 该语言也试图使类型感受起来比典型的面向对象语言更轻量级。
Go彻底是垃圾回收型的语言,并为并发执行与通讯提供了基本的支持。
按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。
那相似的语言还有node.js,erlang,为啥选go
好吧,我也刚开始,那就给出一些理由:
好吧,为啥我会选go:
部署简单
并发性好
执行性能不错
语法相似C,没有压力
好了,还有问题的话,再开始以前,能够看下 官方faq
接下来,个人目标是通用的游戏服务器。
最后,附上一些学习资料: