初识Go语言 | 青训营笔记

127 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第1篇笔记

引言

Go语言是由Google背书的一门年轻的语言,他具有如下的几个重要的特点:

  1. 高性能、高并发
  2. 语法简单,学习曲线平缓
  3. 跨平台
  4. 垃圾回收

那么Go语言这么优秀,必然有很多国内外有大厂在使用吧?

没错,首先最为典型的就是我们宇宙第一大厂---字节跳动。ByteDance已经全面拥抱了 go 语言,公司内部有大量微服务采用 golang 来实现,同时于去年开源了高性能的 GO RPC 框架 KiteX。

  • 国内的大厂:腾讯、百度、美团、滴滴、深信服、平安、OPPO、知乎、去哪儿、360、金山、微博、哔哩哔哩、七牛、PingCAP 等公司也在大量使用 Go 语言。
  • 国外的大厂: Google,Facebook 等公司也在大量使用 Go 语言。

GO语言堪称云原生时代的第一语音,在云计算、微服务、大数据、区块链、物联网等领域蓬勃发展。在云计算、微服务等领域已经有非常高的市场占有率。几乎所有的顶级云原生组件全是用 Go 实现的,如 Docker、Kubernetes、Istio、etcd、prometheus 等。

优势

下面我们对Go语言的特点展开来说说。

  1. 高性能、高并发。Go提供了便利的并发编程方式,只需 Go 关键词,就可以创建多个 goroutine 执行并发任务。而且,Go 还提供了的 Channel 类型,用于便捷的实现 goroutine 之间的通信。
  2. 语法简单,学习曲线平缓。Go语言仅有25个关键字(保留字),和36个预定标识符,记忆成本大大降低。其中预定标识符包含基础数据类型和系统内嵌函数。
  3. 跨平台。由于其模块化设计和模块化,Go的代码可以在任何平台上编译,也可以在任何服务器和应用程序上编译。而不需要使用虚拟机,Go语言的代码可以直接输出为二进制可执行文件。而且Go语言拥有自己的链接器,不依赖任何系统提供的编译器和链接器。因此编译出的二进制可执行文件几乎可以运行在任何系统环境中。
  4. 垃圾回收。垃圾回收是释放掉那些不再被使用的的内存空间的过程。换句话说,垃圾回收器会去检查哪些对象超出范围并且不会再被引用到,然后它会去释放掉那些对象占用的内存空间。垃圾回收是和go线程同时运行的,它是类型精确的,而且多个垃圾回收线程可以并行运行。