go语言自己接触的时间也不是很长,第一次是在什么情况下认识它的,我记得已经不是很清楚了,但那时我知道,这门语言值得我去学习和深入的了解,至于为什么,我想自己可能也描述不出来,那我们就来看看它在别人心中具体是什么样的一门语言,它与我们学的vb、c/c++、java、c#静态语言及php、python、ruby等动态语言有什么样的不同之处。
1.简约的语言风格设计。go语言关键字少,而且很多语法使用方式与其他语言相比大有不同,go语言设计者觉得,代码似乎已经渐渐成了软件设计前行的一大障碍,我们需要在编码上浪费大量的时间,因此有了这么精简的语法结构,把能省略的尽量省略,而且制定了更标准的规范,以达到高效简单的目地。
2.面向对象的不同体现方式。因为自己刚开始接触C和C++相对较多,有过从面相过程编程到面向对象编程的一个思想转变,但是从软件设计和迭代的历程来看,面向对象产生是因为随着互联网及软件研发技术的发展,单纯的面向过程编程已经不能解决比较复杂的业务结构,编写的难度越来越大,不能高效率的达到我们的要求。所以最近十多年里,面向对象几乎深深刻在了每个程序员的心中,似乎没有了面向对象程序就失去了灵魂。其实,随着软件的继续深入发展面向对象也早晚会有淘汰的一天,我们需要跳出来,找找其他思路,而go语言的先驱者正给了我们一种这样的思路,以另一种方式融合了面向对象的有点,同时增加了一些新的元素。虽然对于这种方式的编程不同人持不同观点,但好与坏还是需要时间的验证。
3.对并行编程和分布式编程高效支持。go语言在多线程上增加了关键字go,共享上模拟了linux的管道,多了关键字channel,使用他们,多线程的编写难度将大大降低。
4.最为人称道的是go语言中的interface设计,不同于java和c#中的interface,与c++的模版倒有一些相似之处。至于为什么说它这么优秀,自己暂时对他的理解也不够,还得在实践中才能多多体会。
5.go的错误处理规范,有其他语言相比虽有异曲同工之处,但有很大的不同之处。go引入了error和defer关键字,能帮助我们更好的编写异常安全的代码。
6.go的功能内聚,此功能与其他语言中的继承相似,不过go中还能组合指针。
7.go语言效率高,能与C语言媲美,并且对C完全支持,现主要关注服务器领域的开发。
关于go的优劣好坏,众说不一,各有道理,选择是否学习这门语言,其实完全看个人爱好,听自己的准没错。
是否学习这门语言,其实完全看个人爱好,听自己的准没错。
有疑问加站长微信联系(非本文作者)