
@H_301_2@
@H_301_2@ golang 是由谷歌的三位大牛发明并开源出来的,具体哪三位请大家自行搜索。 @H_301_2@ 博主使用过这些计算机语言:C/C++、VB、C#、PHP、JavaScript、python、erlang。目前使用erlang从事即时通讯后台开发,期间也接触一些golang的开源项目。虽然很早就了解过golang,但没系统的学习过。 @H_301_2@ 对比之前用过的计算机语言,golang有这些优点: @H_301_2@
@H_301_2@ 1、简单 @H_301_2@ @H_301_2@ golang里的变量可以不用定义而直接使用,golang会自行推导出变量的类型以及是否定义过。 @H_301_2@ 例如:
type Student struct{
name string
age int
}
student := Student{ "Bob",12}
@H_301_2@ 在上面的代码中,:= 运算符会要求golang检查变量 student 是否被定义过。如果没有被定义,golang会自动定义,并赋值;如果该变量已经定义,那么golang会报错提示该变量已经被定义过。@H_301_2@
@H_301_2@ 从上面代码中我们还可以看到几个其他的优点:行尾不需要结束符(如C/C++的“;”, erlang的 “,” 等);定义变量(或新类型)时类型在变量(或新类型)名称的后面,这样做的好处是让开发者更加关心变量(或新类型)本身,而无需太关心其类型,因为golang会帮你处理大部分类型问题,或通过类型检查,或通过类型推导。 @H_301_2@ 关于语法方面的其他优点,大家可以自行去体会。 @H_301_2@
2、高效
golang 程序拥有两种执行方式:解释执行和编译执行。解释执行通过例如go run test.go 的方式来执行,go 文件里的代码;编译执行类似于C/C++,直接将代码编译成可执行的二进制程序。因此,golang无论是在开发效率还是运行效率上,都有其独特的优势。相比C/C++,golang程序拥有更快的开发效率;相比erlang、java、python等,golang程序拥有更好的执行效率。
3、并发
@H_301_2@ 和erlang一样,golang 天然支持并发处理。golang 语法中的 go 关键字即是创建一个并发的 golang 进程,与创建者进程共同处理任务。既然和erlang一样都是天然支持并发,那么我们比较下这两门语言的相似之处和特点: @H_301_2@ erlang:使用spawn函数创建新进程,进程之间利用进程的pID来进行通信,pID与进程一一对应,这种思想有点类似 *** 作系统中进程pID的思想。 @H_301_2@ golang:使用go 关键字创建新进程,进程之间利用channel进行通信,这种思想有点类似生产者、消费者的思想。 @H_301_2@
4、丰富
这里的丰富包含两方面:1)语言本身,综合了很多语言的特点,如:C/C++的指针、python的无需行结束符、erlang的并发等;2)类库丰富,除了golang的标准库能满足80%以上的需求外,社区还有很多开源的扩展库和框架。
@H_301_2@
5、活跃
由于谷歌的关系,以及云计算、docker的兴起,golang社区也保持不错的活跃度
转载请注明出处http://www.jb51.cc/article/p-fwihigbo-zg.html
总结以上是内存溢出为你收集整理的golang学习第一篇 golang简介全部内容,希望文章能够帮你解决golang学习第一篇 golang简介所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)