大家好,我是菜鸟哥
周末了跟大家聊我最近的一些想法。编程语言的天下,自古就是适者生存。像是Java, C和Python等语言,都是历经大浪淘沙,顺应时代发展的强大的编程语言。而今天要和大家分享的go语言,也是顺应时代发展的强大编程语言,被称为取代Python的语言。
从2011-2019 可以看出Go语言的增长速度还是非常迅猛的。
1.什么是Go 语言
go语言,又被称为golang,是由谷歌开发的一种静态强类型、并发型的编译型语言,并且还具有垃圾回收功能。于2009年正式开源推出。什么是静态呢?之前在python文章中也解释过,静态语言就是在编译时变量的类型就已经明确。而python就是动态类型的语言。强类型指的是如果一个变量被指定为某个数据类型后,如果不经过强制类型转换,那么它就永远是这个数据类型。这一点与java相同。
go语言的语法接近C语言,但在变量声明上不同,此外,go同C++相比,不具有枚举、继承、虚函数等C++中的典型特征,但是go增加了切片、并发和垃圾回收、接口等新的特性。
2.为啥要学Go语言
那么为什么要学习go语言呢,这就要从go语言的语言特色来讲起。go语言有3个主要的特点,分别是并发、简单和开发速度快
-
并发
并发是Go最最最重要的语言特色。在go语言中实现并发非常的简单,只需要用go关键字生成一个新的线程。go语言的并行设计的核心是goroutine。goroutine其实是比线程更小的协程,go语言的内部设计完成了goroutine之间的内存共享,而执行goroutine只需要几KB的内存。goroutine的高效性和便捷性可以同时运行成千上万个并发任务。
-
简洁性
go语言的简单性体现在它没有类,也没有继承这些概念,而全部用structs代替。此外,go语言只有唯一的一种代码规范,所以代码的可读性也会非常高。
-
开发速度
速度方面,go语言有着堪比java的速度。go语言的简单语法,让它在实现相同功能的情况下,会比Java有速度优势,而且代码的简介程度高。但是go语言目前的标准库远远不如Java,因此可能会重复的编写相同的程序,这一点比Java麻烦不少。
3.Go和Java和python的应用场景的区别?
1).Java广泛的应用于企业级别的web应用开发和移动应用开发
应用全球最大的开发者专业社群。不仅如此,Java在数据中心、游戏控制、移动平台等具有广泛的应用,Java在未来很长的时间内也将占据编程榜第一的宝座。2).python语言易上手,维护简单,而且拥有者丰富而强大的库python伴随着人工智能和大数据以及机器学习的发展得到了越来越广泛的应用。此外在web开发,爬虫和游戏等方面,python也有着许多的应用。3).go语言虽然出现的比较晚,但是其发展势头也是极其迅猛的go语言主要致力于提升性能。在大数据领域,go语言发挥出了重要的作用。此外,go语言也被用来开发“大型软件”。像是大型公司的后台开发,go语言非常适合处理日志,进行数据的打包、文件系统和分布式系统数据库代理等。此外,go语言还可用于内存数据库和云平台的开发。
4.哪些公司在用go语言?
由于go语言是谷歌推出,所以谷歌当然会提倡并使用go语言做开发。Facebook同样也在用go进行开发,谷歌和Facebook都在GitHub上开源了一些go的开发项目,有兴趣的小伙伴可以看一下。
国内的公司中,腾讯,百度、京东、小米等大型公司都在使用go做开发,百度在运维项目中使用到go语言来负责前端流量接入的开发。京东的云消息推送系统、云存储和京东商城都有go开发项目。
此外,B站也在使用go语言来重构整个的后台系统。可以看到,目前使用go语言的,都是大型的互联网公司,如果你想进大厂,学习go语言绝对没错。
5.再来看一下go的招聘信息
go开发给的工资还是很高的,而且大都是大型公司招聘,因此想去大厂并做开发的话,学好go语言绝对是不错的选择。
6.我的第一个Hello go 语言
说了那么多,接下来我们来一点干的,看看如何搭建一个go语言的开发环境,并写出我们的第一个go语言程序吧。
1).go语言安装包的配置
大家需要到go的官网下载对应的go语言开发包,小编下载的就是Windows下的开发包。然后大家直接进行安装即可。安装完成后,大家需要在系统变量的path下添加go的安装路径,如下图所示。
2).go语言编辑器的安装
小编用的是goLand,如果熟悉pycharm的话,对于goLand的安装一定非常的熟悉,因为它和pycharm都是JetBrains旗下的产品。在goLand安装时,需要注意勾选以下几点:
3).第一个go程序
Go语言是综合了Python的简洁和C语言的速度,未来5年随着越来越多的设备进入云应用,随着数字化时代,区块链的大浪潮的到来,懂点Go语言会越来越吃香的!左手Python ,右手Go ! 你准备学吗?欢迎留言区吱一声,给个三连哦!
目前wx搜索Python 【菜鸟学Python】排第二,汇聚了30万Python爱好者,累计原创近400篇趣味干货(爬虫,数据分析,算法,面试指南,原创趣味实战,Python游戏,机器学习),欢迎一起学Python,交流指正。
有疑问加站长微信联系(非本文作者)