本人是之前学习java的,也多亏训练营让我有了机会接触到go语言,并且第一次真正意义的从事后端开发,以下是个人学习经验的总结:
1.go语言的优缺点
因为之前具有java的学习经验,所以我观看了b站上8小时转go的视频,视频中首先介绍了go语言的优缺点,让我对go语言有了一个基础的了解与认识,接下来是我总结的一些基本优缺点
优点:
1.极简的部署形式,可直接编译成机器码,不依赖其他库,直接运行可以部署
2.编译时可以检查出隐藏的大多数问题,防止在跑的过程中发现问题
3.语言层面的并发,天生基因支持,充分利用多核
4.runtime系统调度机制,高效的gc垃圾回收,丰富的标准库
5.简单易学,25个关键字,c语言简洁,内嵌c语法,面向对象特征,跨平台语言
缺点:
1.包管理,大部分都在Github上
2.无泛化类型
3.所有exception都用error来处理
4.对c的降级处理,并非无缝,没有c降级到asm那么完美
总结:
通过对于这个基本优缺点的认识,我认为go语言作为21世纪所创建的新型语言,其优点非常明显,天生自带高并发支持多核运行的这一个特性让我感觉非常方便,在做机械性的程序时,如for循环几百万次完成加一操作,go程序的运行时间是极短的,比起java更快,并且其优秀的调度机制让我感觉十分靠谱,下一篇文章我将着重介绍go语言的调度机制,学会操作系统这一门课后更能感觉其调度机制的强大。 当然其也有着一定的缺点,但是在当今更讲究运行效率的时候,其高并发的特性注定了其会越来越被公司所依赖,我认为当go语言的生态越来越完善时,使用的人也便会越来越多。
并且由于这是事实:如果你了解任何一种编程语言,那么通过在文档学习几个小时就能够掌握 Go 的大部分语法,并在几天后写出你的第一个真正的程序。阅读并理解一些go语言程序,浏览一下go相关的包,玩一玩 网络工具包,然后你将成为一个相当不错的 Go 开发者。