开始玩Go语言也是上学期快期末,Go语言给我最大的印象就是简单,我原来一直是JAVA的拥护者,JAVA就像一个严谨的太翁,严格的继承和实现关系。而Go犹如20岁的小伙,简单高效充满活力。毕竟它是Google的崽,自然后天的生长环境也差不到那里去。
下面,回顾一下Go语言的特性:
一:简单
Go语言的程序里面的任何一个字符都是对程序功能本身有效的,这个有效是指运行有效,而不是编译有效。所以Go语言省略了分号,支持用:=进行声明变量和赋值,
还支持多返回值函数。
二:高并发
Go语言支持比线程跟轻量级的协程,关于进程,线程,协程的区别请参考博文:http://blog.leiqin.name/2012/12/02/%E8%BF%9B%E7%A8%8B%E3%80%81%E7%BA%BF%E7%A8%8B%E5%92%8C%E5%8D%8F%E7%A8%8B%E7%9A%84%E7%90%86%E8%A7%A3.html。
用一个官方的数据来说明一下,(我没有亲自体验过,姑且认为是可靠的吧),单核的处理机环境,可以轻松创建上百万个协程而不会导致系统资源衰竭,但是线程和进程最多不能超过1万个。
三:自动垃圾回收
针对当今的大规模的程序设计,这无疑是现代程序员的福利。具体实现还有待研究
四 : 面向对象支持
相对JAVA而言,Go语言摒弃了负责的继承树,使用组合的文法实现继承,在接口方面采用的是非侵入试设计,只要一个类实现了接口的所以函数,就可以说该类实现了这个接口。这一点我也处于混沌状态,我感觉就是,JAVA的接口实现是至頂而下,而Go的接口是至下而上。
开启Go语言之旅咯
欢迎Go语言爱好者一起学习,探讨。QQ:821841419
有疑问加站长微信联系(非本文作者)