编程学习网 > 数据库 > 为什么我强烈推荐你学习go语言?
2019
12-19

为什么我强烈推荐你学习go语言?

Go有什么优势

  • 可直接编译成可执行文件,不依赖任何东西,部署就是扔一个文件上去就完成了。这点非常重要,无论是个人开发还是工作中的很多任务,尤其在需要到服务器上跑的最方便了,不需要配置环境什么的,相比Python好太多。谁用谁知道!!!

  • 静态类型语言,但是有动态语言的感觉。起初我接触Python后因为它的简单喜欢上了,第三方库也非常丰富,但实际中静态语言的特性尤其是代码需要按固定的缩进编写,在服务器上的文本编辑器中非常不方便,而且还需要安装相关的依赖,效率其实并不高,当接触go一天后,我立刻意识到,这才是我心中理想的语言,从此彻底放弃了Python。静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高,支持函数式编程。

 func main() {
 
 /***
 *闭包调用,
  */
 func(a int) { //闭包没有名字
 println("闭包")
 println(a)
 }(1) //最后的一对括号表示对该匿名函数的调用
 }
 
 输出:
 闭包
 1

语言层面支持并发,这个就是Go最大的特色,天生的支持并发,我曾经说过一句话,天生的基因和整容是有区别的,大家一样美丽,但是你喜欢整容的还是天生基因的美丽呢?Go就是基因里面支持的并发,可以充分的利用多核,很容易的使用并发。

func main() {
 fmt.Println("aa")
 /***
 *go关键字后面的方法就是一个协程
  */
 go func() {
 for i:=0;i<=10;i++ {
 fmt.Println("go go go")
 }
 }()
 fmt.Println("bb")
 time.Sleep(time.Second*3)
 
 }
 
 输出:
 aa
 bb
 go go go
 go go go
 go go go
 go go go
 go go go
 go go go
 go go go
 go go go
 go go go
 go go go
 go go go

  • 内置runtime,支持垃圾回收。

  • 简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go关键字是25个,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等。

  • 丰富的标准库,Go目前已经内置了大量的库,特别是网络库非常强大,我最爱的也是这部分。

  • 内置强大的工具,Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得如此的简单,代码格式一模一样,想不一样都很困难。

  • 跨平台编译,如果你写的Go代码不包含cgo,那么就可以做到window系统编译linux的应用。

  • 内嵌C支持,前面说了作者是C的作者,所以Go里面也可以直接包含c代码,利用现有的丰富的C库。

  • 开发效率高。我在公司工作是用Java,Java实现个东西真是啰嗦务必,在可以不要Java的场合,我都会使用go。

2、Go适合用来做什么

  • 服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。

  • 脚本编程。你完全可以使用go当做Python来用,日常的各种自动化任务、小工具等都非常适合使用go编写

  • 网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用、

  • 云平台,目前国外很多云平台在采用Go开发,CloudFoundy的部分组建,前VMare的技术总监自己出来搞的apcera云平台。大名鼎鼎的docker就是用go开发的。

无论如何,对于一个编码近10年的老码农,我是非常的喜欢go,无论是初次学校编程的人,还是有编程经验的人,我也强烈推荐去了解和学习它,我相信你会慢慢地喜欢它。


扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取