Go 编程语言简介


2021年12月21日, Learn eTutorial
2736

Go 是一种通用编程语言。Go 语言也因其网站域名 golang.org 而被称为 Golang,但其正式名称是 Go。Go 以其吉祥物“gopher”(地鼠)命名。

Go-language

Go 由谷歌开发。Go 的开发始于 2007 年,是谷歌的一个内部项目。Go 的最初设计者是 Robert Griesemer、Rob Pike 和 Ken Thompson。
Go 的设计初衷是为了避免当时已有的编程语言存在的问题、困难和缺点。Go 的灵感来源于 C、C++、Python、Smalltalk、Pascal 等多种流行语言。
Go 的受欢迎程度与日俱增。其背后的原因是,Go 可以作为 Java、C++、C 等流行且复杂的编程语言的替代品,用于开发 Web 应用程序、数据库、网络编程等。

Go 开发者

Go-language

Go 的历史

Go 的开发始于 2007 年,是谷歌的一个内部项目。Go 的最初设计者是 Robert Griesemer、Rob Pike 和 Ken Thompson。Robert Griesemer 是一位在谷歌工作的瑞士计算机科学家。Rob Pike 是一位加拿大程序员和作家。他也是 UNIX 团队的成员,并在谷歌工作。Ken Thompson 是美国计算机科学的先驱。此外,他还是 Unix、B 编程语言、C、Go、Inferno 等的设计者和创造者。除了最初的设计者,Go 在谷歌还有一个团队,包括 Russ Cox、Ian Lance Taylor、Andrew Gerrand 等许多人为 Go 的发展做出了贡献。
Go 于 2009 年公开发布并成为开源项目。Go 的首次发布是在 2012 年 3 月。第一个版本是 Go 版本 1 或 Go 1。Go 的最新版本是 2021 年 2 月发布的 Go 1.16。

Go 的特性

Go-language
  • 强静态类型语言

    Go 是一种强静态类型编程语言,这意味着类型检查在编译时完成。许多程序员可能认为这对于编写大型程序来说很困难,但 Go 的语法很短。此外,Go 提供了一个方便的鸭子类型版本(鸭子类型是一种在没有类型的情况下调用对象现有方法的系统,如果该方法已经定义,则可以调用它)。

  • 开源许可证:

    自 2009 年以来,Go 一直采用宽松的开源许可证。拥有开源许可证的软件不是专有软件,其源代码可以免费使用、修改和分发给公众。它是一个庞大的程序员社区,提供开发支持、问题的新解决方案等。
    来自世界各地的许多开发者为 Go 的开放开发模式做出了贡献。此外,Go Dashboard 中还提供了许多第三方的 Go 包。

  • 内存管理

    在程序执行时,它们会将对象写入内存,但有时当这些对象不再需要时必须将其移除。移除这些不需要的对象的过程称为内存管理。
    Go 提供了称为垃圾回收的自动动态内存管理。因此,无需手动释放内存。垃圾回收可以提供各种好处,例如更高的安全性、更好的可移植性、更短的代码长度等。

  • Goroutines(协程):

    在 Go 语言中,同时(并发)执行的每个活动(方法或函数)都称为 Goroutine。每个程序至少有一个 goroutine,称为主 Goroutine。如果主 Goroutine 终止,那么其中的所有 goroutine 也会终止。

  • 高级并发:  

    大型程序是由较小的子程序组合而成的。同时独立地执行这些较小子程序的过程称为并发。Go 通过使用 goroutine 和通道实现了高级别的并发。

  • 受“C”启发:

    Go 语言在语法上与“C”相似,这使得对编程语言有基本了解的人更容易学习。Go 使用非常易于理解的语法,可以避免复杂性和冗长。

  • 过程式编程语言

    Go 是一种过程式编程语言。过程式编程是一种基于调用过程(也称为函数、例程或子例程)概念的编程模型。

  • 多范式

    Go 允许使用最适合解决问题的范式。Go 是一种纯粹的过程式语言,但也支持面向对象编程。Go 的面向对象方法与其他流行语言(如 C++、Java 或 Python)截然不同,与这些语言相比,Go 更易于使用且更灵活。

  • 标准库

    Go 有一个标准库,由一组核心包组成。这些包可以添加到各种程序中,以增强和扩展语言功能。因此,没有必要构建自己的包或下载他人创建或发布的包。

Go 的优点

  • Go 简单易学

    Go 的语法简单,便于初学者上手。此外,互联网上有各种类型的教程可供学习。

  • Go 简单而简短

    Go 的代码行数简单而简短,有助于节省时间。这一点非常重要,因为阅读和理解大型程序非常耗时。

  • Go 的语法类似于 C 编程语言

    对于那些对编程语言有基本了解的人来说,Go 更容易理解。

  • 编译时和运行时速度快

    用 Go 编写的代码直接翻译成处理器可以理解的格式。因此,它的执行不需要更多时间。

  • 可移植性:

    Go 可以在不同的操作系统(平台无关)上工作,例如 Windows、Linux、Mac 等。

  • 许多集成开发环境(IDE)和编辑器,如 Emacs、VSCode、Eclipse 等都支持 Go。
  • 使用垃圾回收器进行高效的内存管理。
  • 内置并发性。
  • 它是一种开源编程语言。

Go 的主要缺点

  • Go 是一门非常年轻的语言,仍在发展中。
  • 缺少库。
  • 没有手动内存管理。
  • 与其他编程语言相比,Go 的在线帮助或支持较少。

Go 的应用领域

  • Go 用于创建高性能的系统编程。
  • Go 广泛用于 Web 应用程序的开发。
  • Go 在基于网络的程序开发中很受欢迎。
  • Go 可用于云和服务器端等应用。
  • 各种命令行工具都是用 Go 语言编写的。
  • Go 用于人工智能和数据科学。
  • Go 还用于微控制器编程、游戏和机器人技术。
     

使用 Golang 的顶尖公司

Go-language
  • 谷歌
  • Facebook
  • Twitter
  • IBM
  • BBC
  • Dropbox
  • SOUNDCLOUD
  • Dailymotion
  • 优步 (Uber)
  • YouTube