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

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

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 的语法很短。此外,Go 提供了一个方便的鸭子类型版本(鸭子类型是一种在没有类型的情况下调用对象现有方法的系统,如果该方法已经定义,则可以调用它)。
自 2009 年以来,Go 一直采用宽松的开源许可证。拥有开源许可证的软件不是专有软件,其源代码可以免费使用、修改和分发给公众。它是一个庞大的程序员社区,提供开发支持、问题的新解决方案等。
来自世界各地的许多开发者为 Go 的开放开发模式做出了贡献。此外,Go Dashboard 中还提供了许多第三方的 Go 包。
在程序执行时,它们会将对象写入内存,但有时当这些对象不再需要时必须将其移除。移除这些不需要的对象的过程称为内存管理。
Go 提供了称为垃圾回收的自动动态内存管理。因此,无需手动释放内存。垃圾回收可以提供各种好处,例如更高的安全性、更好的可移植性、更短的代码长度等。
在 Go 语言中,同时(并发)执行的每个活动(方法或函数)都称为 Goroutine。每个程序至少有一个 goroutine,称为主 Goroutine。如果主 Goroutine 终止,那么其中的所有 goroutine 也会终止。
大型程序是由较小的子程序组合而成的。同时独立地执行这些较小子程序的过程称为并发。Go 通过使用 goroutine 和通道实现了高级别的并发。
Go 语言在语法上与“C”相似,这使得对编程语言有基本了解的人更容易学习。Go 使用非常易于理解的语法,可以避免复杂性和冗长。
Go 是一种过程式编程语言。过程式编程是一种基于调用过程(也称为函数、例程或子例程)概念的编程模型。
Go 允许使用最适合解决问题的范式。Go 是一种纯粹的过程式语言,但也支持面向对象编程。Go 的面向对象方法与其他流行语言(如 C++、Java 或 Python)截然不同,与这些语言相比,Go 更易于使用且更灵活。
Go 有一个标准库,由一组核心包组成。这些包可以添加到各种程序中,以增强和扩展语言功能。因此,没有必要构建自己的包或下载他人创建或发布的包。
Go 的语法简单,便于初学者上手。此外,互联网上有各种类型的教程可供学习。
Go 的代码行数简单而简短,有助于节省时间。这一点非常重要,因为阅读和理解大型程序非常耗时。
对于那些对编程语言有基本了解的人来说,Go 更容易理解。
用 Go 编写的代码直接翻译成处理器可以理解的格式。因此,它的执行不需要更多时间。
Go 可以在不同的操作系统(平台无关)上工作,例如 Windows、Linux、Mac 等。
