go学习篇之认识go(1)

xixionedream · · 1237 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

         

go语言自己接触的时间也不是很长,第一次是在什么情况下认识它的,我记得已经不是很清楚了,但那时我知道,这门语言值得我去学习和深入的了解,至于为什么,我想自己可能也描述不出来,那我们就来看看它在别人心中具体是什么样的一门语言,它与我们学的vbc/c++javac#静态语言及phppythonruby等动态语言有什么样的不同之处。

1.简约的语言风格设计。go语言关键字少,而且很多语法使用方式与其他语言相比大有不同,go语言设计者觉得,代码似乎已经渐渐成了软件设计前行的一大障碍,我们需要在编码上浪费大量的时间,因此有了这么精简的语法结构,把能省略的尽量省略,而且制定了更标准的规范,以达到高效简单的目地。

2.面向对象的不同体现方式。因为自己刚开始接触CC++相对较多,有过从面相过程编程到面向对象编程的一个思想转变,但是从软件设计和迭代的历程来看,面向对象产生是因为随着互联网及软件研发技术的发展,单纯的面向过程编程已经不能解决比较复杂的业务结构,编写的难度越来越大,不能高效率的达到我们的要求。所以最近十多年里,面向对象几乎深深刻在了每个程序员的心中,似乎没有了面向对象程序就失去了灵魂。其实,随着软件的继续深入发展面向对象也早晚会有淘汰的一天,我们需要跳出来,找找其他思路,而go语言的先驱者正给了我们一种这样的思路,以另一种方式融合了面向对象的有点,同时增加了一些新的元素。虽然对于这种方式的编程不同人持不同观点,但好与坏还是需要时间的验证。

3.对并行编程和分布式编程高效支持。go语言在多线程上增加了关键字go,共享上模拟了linux的管道,多了关键字channel,使用他们,多线程的编写难度将大大降低。

4.最为人称道的是go语言中的interface设计,不同于javac#中的interface,与c++的模版倒有一些相似之处。至于为什么说它这么优秀,自己暂时对他的理解也不够,还得在实践中才能多多体会。

5.go的错误处理规范,有其他语言相比虽有异曲同工之处,但有很大的不同之处。go引入了errordefer关键字,能帮助我们更好的编写异常安全的代码。

6.go的功能内聚,此功能与其他语言中的继承相似,不过go中还能组合指针。

7.go语言效率高,能与C语言媲美,并且对C完全支持,现主要关注服务器领域的开发。

关于go的优劣好坏,众说不一,各有道理,选择是否学习这门语言,其实完全看个人爱好,听自己的准没错。

是否学习这门语言,其实完全看个人爱好,听自己的准没错。


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:xixionedream

查看原文:go学习篇之认识go(1)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077

1237 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传