1.什么是Go语言
Go语言是Google推出的新的一个致力于系统级的编程语言。很多人说它是 C + Python,既有c的灵活高效,又有Python的简单易用,它的原则是 Simple && Fast。它的语法规则很简单。其官方网站上有一个《三天学会Go语言》的教程,包括三部分:基本结构,面向对象,并发。一个周末的时间就差不多可以掌握其基本面貌。相对来说,第三部分“并发”似乎难接受一些。但是如果你对多线程,同步,消息队列这些东西很有经验的话,对它的概念也会容易理解。
2.Go语言的面向对象
Go语言在C语言语法的基础上,以最简洁的形式加入了面向对象。
关于继承:Go语言没有继承。但是它支持嵌入,这个有点类似于其它语言的mixin,可以用来模拟继承。
关于多态:Go 语言的最大特点是它的接口定义。所谓“接口”,就是一组方法的集合。任何一个类只要实现了一个接口的所有方法,则是该接口的实现者,不需要显式声明实现该接口。所以一个没有任何方法的空接口可以代表任何类型。
3.Go语言的并发
Go语言提出一个新的概念—Go例程,有点类似于线程,但是更加轻量,更省资源。Go例程之间的通信方式 ——信道,这是GO 语言的核心概念,有点类似于UNIX的Pipe。在Go语言中,不需要接触线程,锁这些低阶概念。
4.Go语言可以用来做什么
Go语言目前最强的是它的网络功能。它的package中已经实现了最常见的网络协议和编码处理。Go的官方网站使用的就是Go语言,实际上它就是Go的文档系统godoc。
还没有官方对数据库支持,不过因为通过某种办法可以在Go语言中直接调用C函数,所以很容易的实现对MYSQL 或者 Sqlite 这些数据库的支持。
至于GUI,这估计目前还不在设计者的考虑范围之内,因为他们连Windows都不舍得支持。不过可以通过它的http包和template包等等,已经构成了一个WEB框架,可以用来实现WEB GUI的开发,使用Go写一个带有路径分派的Http服务器也就几行代码的事。