Go 简介(Golang)
理论
计算机科学的一个主要工具是编程语言。我们使用它们来开发计算机程序。在现代世界中,有各种各样的编程语言,每种语言都有自己的粉丝社区。让我们来看看 Go 的独特之处以及这种语言的优点。
§1. Go编程语言?
如果你好奇的话,这里有一个非常简短的历史记录:
2007年, 谷歌 开始将 Go 编程语言作为内部项目进行开发。两位 Unix 杰出人物 Rob Pike 和 Ken Thompson 设计了最初的版本。两年后,即 2009 年 11 月 10 日,该软件以自由开源许可证发布。准备投入生产的 Go 1.0 版本于 2012 年 3 月发布。Google 的设计团队与 Russ Cox、Andrew Gerrand、Ian Lance Taylor 等人一起参与了 Go 项目。感谢所有这些人,您有机会学习这种编程语言。
Go 也被称为 Golang,与 Go 编程语言同名;“Golang”这个名字的出现是因为网站(去开发) 最初是 golang.org。我们将在本主题中交替使用这两个名称。
§2. Go 的优势
Go 的语法很简洁,下表是 Go 和 Java 在声明和初始化变量时的语法对比。
去
软件包 main
函数main(){
a, b, c := 1, 2, 3 // a, b, c 具有 'int' 类型
}
Java
公共类主要{
公共静态void main(String [] args){
int a = 1,b = 2,c = 3;
}
}
Go 是一种实用语言:其主要目的是解决现实世界的问题。您可以在以下示例中看到这一点:
- Go 的初衷是用于以服务器为中心的 Web 服务器和存储架构领域。因此,我们决定将 Go 打造成一种编译为本机代码的编程语言。Go 程序通常执行速度非常快,内存占用低。这就是为什么您可以将这种语言用作系统编程语言。
- Golang 擅长处理大量并发并简化事件处理。这使其成为游戏服务器和 IoT 解决方案的理想选择。另一个有用的链接是 Github wiki,可帮助您了解 Go 中的成功示例。
- 最后,你可以将 Go 用作通用编程语言。它是开发和解决文本处理问题的绝佳工具。
稍作休息,看看围棋吉祥物在不同角色中是如何发挥作用的。
该语言支持一系列编程范式,包括命令式编程、面向对象编程、过程式编程和函数式编程。Go FAQ 包含 Go 团队对这些设计的解释。
§3. Go 的缺点
虽然 Go 与其他编程语言相比有很多优点,但在学习它时你应该注意它仍然有一些缺点:
- Go 的标准库与其他语言相比缺少一些功能。例如,没有内置函数来查找数字数组中的最大数字,因此您必须手动实现它。
- Go的标准库默认不支持GUI编程,这是其他编程语言库(例如Java标准库)的优势。
- Go 的独立二进制文件很大,因为它们需要嵌入式垃圾收集器和整个 Go 运行时。“Hello World”程序可能占用 2MB 的文件大小。
地鼠只是简单的生物。
§4. 第一个围棋示例
现在您已经熟悉了 Go 语言,您可以按照以下步骤在您的计算机上安装 Go。
安装完 Go 后,我们可以看一下第一个代码示例。它将“Hello Golang”字符串打印到终端(假设此示例包含在 main.go 文件中):
Go 示例
软件包 main
导入“fmt”
函数main(){
fmt.Println("Hello Golang") // 将“Hello Golang”打印到屏幕上
}
在 Go 中写注释时,我们使用 C++ 风格: // 对于我们通常放在代码行末尾的单行注释,以及/* ... */ 用于多行注释。
Go 编程语言被组织成包,每个 Go 程序都应该有 主要的 包含主要的() 函数,作为程序的入口点(首先执行的函数)。
现在单击 JetBrains 的 GoLand(或 IntelliJ IDEA)中的运行按钮,或通过执行以下命令直接在终端中运行该程序 运行main.go 命令。
恭喜!您刚刚第一次使用 Go。
§5. 摘要
以下是我们迄今为止所涵盖的有关 Go 语言的内容的回顾:
- Go 的简单描述;
- 它能做什么;
- Golang 在计算机编程中如此受欢迎的原因;
- 学习如何用 Golang 编写简单的代码。
一旦您理解了 Go 的最基本概念,您就可以进一步进行探索。
您还可以查看 hyperskill.org 上的课程.
实践任务及答案
给出了任务和答案选项。正确选项以 蓝色的 颜色。
№1. Go语言的特点
问题: 选择关于Go语言特点的正确陈述。
从列表中选择一个或多个选项:
- 它可以用作通用编程语言✔
- 它支持多范式编程✔
- 语法复杂且难以阅读
- 它支持并发编程✔
解释。 说它的语法复杂且难以阅读是不正确的。Go 的语法相对简单,类似于 C 和 Java。
以下是关于 Go 语言特性的一些额外细节:
- 通用语言:Go 可用于开发各种各样的应用程序,包括 Web 应用程序、命令行工具和分布式系统。
- 多范式:Go 支持多种编程范式,包括过程式、面向对象和函数式编程。
- 并发性:Go 内置了对并发性的支持,允许多个任务同时运行。这使其非常适合开发需要处理大量请求或数据的应用程序。
总体而言,Go 是一种功能强大且用途广泛的语言,可用于开发各种应用程序。对于想要一种简单、高效且可扩展的语言的开发人员来说,它是一个不错的选择。
№2. 包和入口点函数名称
问题: 每个可执行 Go 程序都应该具有的包名和函数名是什么?
从列表中选择一个选项:
- 程序包 main 和 func main() ✔
- 程序包 main 和 func init()
- 软件包 init 和 func main()
№3. Go 编程语言的主要应用
问题: Go 是一种通用语言,可用于多种用途。以下哪些选项代表了 Go 的一些最常见用途?
从列表中选择一个或多个选项:
- 物联网平台✔
- 命令行应用程序✔
- 充当 markdown 或 HTML 等标记语言
- 网络应用程序✔
解释。 Go 最常见的用途是:
- 命令行应用程序:Go 是编写高效且可扩展的命令行应用程序的绝佳语言。它通常用于构建系统管理、DevOps 和云计算工具。
- Web 应用程序:Go 是构建 Web 应用程序的热门选择,因为它速度快、可扩展且易于学习。它也非常适合微服务架构。
- 物联网 (IoT) 平台:Go 是构建 IoT 平台的不错选择,因为它效率高,能够处理大量连接。它也非常适合实时应用程序。
- 数据科学和机器学习:Go 是数据科学和机器学习领域中一种相对较新的语言,但由于其速度和可扩展性而越来越受欢迎。它也非常适合分布式计算。
所以答案是命令行应用程序、Web 应用程序和物联网平台。
选项“充当 markdown 或 HTML 等标记语言”对于 Go 来说并不常见。Markdown 和 HTML 是用于格式化文本的标记语言,而 Go 是一种用于创建应用程序的编程语言。
№4.在终端中运行该程序
问题: 假设您当前工作目录中有一个 Go 程序,该程序包含在 main.go 文件中。必须在终端中执行什么命令才能运行该 Go 程序?
从列表中选择一个选项:
- 执行 main.go
- 运行 main.go✔
- 去构建main.go
- 运行main.go
解释。 运行Go程序的正确命令是go run main.go。
go run 命令一步编译并运行 Go 程序。go build 命令编译 Go 程序,但不运行它。go exec 命令执行二进制文件,该文件是已编译的 Go 程序。run main.go 命令不是有效命令。
№5. Go 编程语言的缺点
问题: 选择关于Go语言的缺点的正确陈述。
从列表中选择一个或多个选项:
- 与其他编程语言相比,Go 的标准库缺少一些功能✔
- Go 不支持面向对象编程
- Go 的标准库不支持 GUI 编程✔
- Go 程序执行速度慢,内存占用高
解释。 关于Go语言的缺点,正确表述如下:Go的标准库相对于其他编程语言缺少一些功能;Go的标准库不支持GUI编程。
Go 确实支持面向对象编程,并且 Go 程序以其快速执行和低内存占用而闻名。
№6. 很棒的生日
问题: Google 何时开始将 Go 编程语言作为内部项目进行开发?
从列表中选择一个选项:
- 1993
- 1985
- 2007 ✔
- 2019
解释。 谷歌于 2007 年开始开发 Go 编程语言作为内部项目。
Go 语言由 Robert Griesemer、Rob Pike 和 Ken Thompson 设计。它被设计为一种简单、可靠且高效的语言,非常适合构建大规模分布式系统。
Go 于 2012 年作为开源项目发布。自那时起,它已成为各种任务的流行语言,包括 Web 开发、系统编程和云计算。所以答案是 2007 年。
其余选项均不正确。
- 1993 年:这一年 Google 成立。Go 语言直到 2007 年才开发出来。
- 1985 年:这是 C 编程语言发布的年份。Go 被设计为 C 的后继者,因此谷歌不太可能在 1985 年开始开发 Go。
- 2019 年:这是 Go 1.13 版本发布的年份。Go 语言在 2019 年就已开始开发。
№7. 运行你的第一个 Go 程序
问题: 下面你将看到一个非常简单的 Go 程序的代码,它输出一条消息和一个算术运算的结果:
软件包 main
导入“fmt”
函数main(){
var Greeting = "你好,Go!"
fmt.Println(问候语)
var num1, num2 = 1, 2
fmt.Println(num1 / num2)
}
您的任务是复制上述代码,访问 Go 游乐场并将代码粘贴到在线编辑器中。
粘贴代码后,点击右上角附近的运行按钮,然后选择下面程序的正确输出。
从列表中选择一个选项:
- 你好,Go!
0 ✔ - 你好,Go!
0.5 - 你好世界!
0 - 你好,Go!
1
№8. Go 是否正确安装?
问题: 假设你刚刚按照官方的 Go 安装指南在计算机上安装了 Go。Go 安装指南建议你在终端中执行什么命令来验证你是否安装了 Go?
从列表中选择一个选项:
- 去安装
- go 版本✔
- 去跑步
- 去建造
解释。 验证 Go 是否已正确安装的命令是 go version。go version 命令会打印计算机上安装的 Go 版本。如果 Go 安装正确,您应该会看到版本号打印到控制台。
其余选项均不正确。
- go install 安装一个 Go 包。
- go run 编译并运行一个 Go 程序。
- go build 编译一个 Go 程序,但不运行它。
什么是 Go 编程语言?Go 初学者简介。
Go 是一种静态类型、编译型编程语言,由 Google 的 Robert Griesemer、Rob Pike 和 Ken Thompson 设计。它在语法上与 C 类似,但还具有内存安全性、垃圾回收、结构化类型和 CSP 样式并发性。
Go 是一种通用语言,可用于多种任务,包括:
- Web开发
- 系统编程
- 云计算
- 数据科学和机器学习
- 物联网平台
Go 以其简单、可靠和高效而闻名。它也是一种非常快速的语言,可用于构建可扩展且高性能的应用程序。
以下是 Go 的一些主要特性:
- 静态类型:Go 是一种静态类型语言,这意味着变量和表达式的类型必须在编译时知道。这有助于防止错误并使代码更可靠。
- 垃圾收集:Go 具有垃圾收集功能,这意味着程序员无需担心内存管理。这使得 Go 代码更易于编写和维护。
- 结构类型:Go 使用结构类型,这意味着变量的类型由其结构而不是其声明决定。这使得代码更灵活且更易于阅读。
- CSP 样式并发:Go 支持 CSP 样式并发,允许多个任务同时运行。这使得 Go 非常适合构建可扩展且高性能的应用程序。
如果您是编程初学者,Go 是一门值得学习的好语言。它是一种语法清晰的简单语言,也是一种可用于构建各种应用程序的强大语言。
以下一些资源可帮助您开始使用 Go:
- Go 编程语言: https://go.dev/ - Go 官方网站,其中包含文档、教程和工具。
- 以身作则: https://gobyexample.com/ - 一组说明 Go 编程语言的简短代码示例。
- Go 博客: https://blog.golang.org/ - 官方 Go 博客,其中包含有关 Go 新闻、功能和最佳实践的文章。