Go学习笔记(1)Go语言简介

x33g5p2x  于2022-03-06 转载在 其他  
字(1.3k)|赞(0)|评价(0)|浏览(497)

为什么学Go

最近“去浪”(Golang)语言真的浪得风生水起,各大公司纷纷转型写Go,很多大厂也开始对年代久远的C/C++原始代码开刀,往Go上面迁移。目前知道的像谷歌、腾讯、B站、360、盛大等公司都开始加入Go的阵营,想必之后后端开发对Go的需求会越来越大。按目前的发展趋势看,Go应该会是一门值得学习的语言,由于它的特性和优势,Go在服务器后端、系统编程这一块的使用估计会继续浪得飞起。

什么是Go

Go语言,也叫Golang(没错,“去浪”),是一门支持并发、垃圾回收等特性的编译型编程语言,它的主要目标是同时具有C/C++等静态语言的高性能、安全性和Python等动态语言的高效开发的优点。

为什么要创造Go

  • 系统编程领域,C/C++的发展无法跟上计算机发展的脚步
  • 相比计算机性能的提升,软件开发领域发展不被认为足够快或者比硬件发展得更快,同时程序体积始终不断扩大,急需一门具备高层次概念的低级语言来突破现状
  • 开发者始终面临着抉择:究竟是使用执行速度快但是编译速度并不理想的语言(如:C++),还是使用编译速度较快但执行效率不佳的语言(如:.NET、Java),或者说开发难度较低但执行速度一般的动态语言呢?

所以,如果有一门语言如果能够 快速编译,高效执行,易于开发,那就直接上(Go)!

Go的起源与发展

Go语言始创于2007年,并于2009年正式对外发布,到现在才十来年的时间,是一门非常年轻的语言。谷歌是最早使用Go开发的公司,从2009年起,Go就作为谷歌公司20%的兼职项目,不到一两年的时间,谷歌的Youtube、App Engine等项目都已经支持Go。
  诞生Go的“黄金团队”:Go语言出自 Ken Thompson和 Rob Pike、Robert Griesemer 之手,他们都是计算机科学领域的重量级人物。

  • Ken Thompson:贝尔实验室 Unix 团队成员,C 语言、Unix 和 Plan 9 的创始人之一,与 Rob Pike 共同开发了 UTF-8 字符集规范
  • Rob Pike:Go 语言项目总负责人,贝尔实验室 Unix 团队成员,参与的项目包括 Plan 9,Inferno 操作系统和 Limbo 编程语言
  • Robert Griesemer:参与开发 Java HotSpot 虚拟机

Go的特点

  • 静态语言的安全性和高效性动态语言的易开发性间达到很好的平衡,这也是Go的主要目标
  • 类型安全内存安全,虽然Go中仍有指针存在,但不允许进行指针运算
  • 以直观且低代价的方式支持高并发,更好地支持多核与多处理器计算机
  • 简洁严格的依赖管理(包模型)与快速的编译能力,解决了C语言头文件太多带来的弊端
  • 高效的垃圾回收机制
  • 完全支持UTF-8编码

Go的用途

  • Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言
  • 对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率
  • 它提供了海量并行的支持,这对于游戏服务端的开发也非常适合
  • Go语言同时也是一门可以用于实现一般目标的语言,例如对于文本的处理,前端展现,甚至像使用脚本一样使用它

写在最后

这章主要是对Go语言的简要介绍,让大家的Go有个大概的整体印象,最后献上Go的吉祥物,一只萌萌的地鼠~

相关文章