教程:Go 入门
在本教程中,您将简要了解 Go 编程。在此过程中,您将
- 安装 Go(如果您尚未安装)。
- 编写一些简单的“Hello, world”代码。
- 使用
go
命令运行您的代码。 - 使用 Go 软件包发现工具查找您可以在自己的代码中使用的软件包。
- 调用外部模块的函数。
先决条件
- 一些编程经验。此处的代码非常简单,但了解一些有关函数的知识会有所帮助。
- 一个编辑代码的工具。您拥有的任何文本编辑器都可以正常工作。大多数文本编辑器都很好地支持 Go。最流行的是 VSCode(免费)、GoLand(付费)和 Vim(免费)。
- 命令终端。Go 在 Linux 和 Mac 上的任何终端中都能很好地运行,并且在 Windows 中的 PowerShell 或 cmd 中也能运行。
安装 Go
只需使用 下载并安装 步骤。
编写一些代码
从 Hello, World 开始。
-
打开命令提示符并 cd 到你的主目录。
在 Linux 或 Mac 上
cd
在 Windows 上
cd %HOMEPATH%
-
为你的第一个 Go 源代码创建一个 hello 目录。
例如,使用以下命令
mkdir hello cd hello
-
为你的代码启用依赖项跟踪。
当你的代码导入包含在其他模块中的包时,你可以通过你自己的模块的代码来管理这些依赖项。该模块由一个 go.mod 文件定义,该文件跟踪提供这些包的模块。该 go.mod 文件与你的代码一起保留,包括在你的源代码存储库中。
要通过创建 go.mod 文件为你的代码启用依赖项跟踪,请运行
go mod init
命令,并为其提供你的代码所在模块的名称。该名称是模块的模块路径。在实际开发中,模块路径通常是你将保留源代码的存储库位置。例如,模块路径可能是
github.com/mymodule
。如果你计划发布你的模块供其他人使用,则模块路径必须是 Go 工具可以从中下载你的模块的位置。有关使用模块路径命名模块的更多信息,请参阅 管理依赖项。出于本教程的目的,只需使用
example/hello
。$ go mod init example/hello go: creating new go.mod: module example/hello
-
在你的文本编辑器中,创建一个文件 hello.go,用于编写你的代码。
-
将以下代码粘贴到你的 hello.go 文件中并保存该文件。
package main import "fmt" func main() { fmt.Println("Hello, World!") }
这是你的 Go 代码。在此代码中,你
-
运行你的代码以查看问候语。
$ go run . Hello, World!
go run
命令是许多go
命令之一,你将使用这些命令来完成 Go 的工作。使用以下命令获取其他命令的列表$ go help
调用外部包中的代码
当你需要你的代码执行其他人可能已经实现的操作时,你可以查找一个包,其中包含你可以在你的代码中使用的函数。
-
使用外部模块中的函数让你的打印消息变得更有趣。
- 访问 pkg.go.dev 并 搜索“quote”包。
-
在搜索结果中找到并点击
rsc.io/quote
包(如果你看到rsc.io/quote/v3
,现在请忽略它)。 -
在 文档 部分的 索引 下,记下你可以从代码中调用的函数列表。你将使用
Go
函数。 -
在本页顶部,请注意
quote
包包含在rsc.io/quote
模块中。
你可以使用 pkg.go.dev 网站来查找已发布的模块,其包具有可以在你自己的代码中使用的函数。包在模块中发布——例如
rsc.io/quote
——其他人可以使用它们。模块会随着时间的推移而通过新版本进行改进,你可以升级你的代码以使用改进后的版本。 -
在你的 Go 代码中,导入
rsc.io/quote
包并添加对其Go
函数的调用。添加高亮显示的行后,你的代码应包括以下内容
package main import "fmt" import "rsc.io/quote" func main() { fmt.Println(quote.Go()) }
-
添加新的模块要求和总和。
Go 将添加
quote
模块作为要求,以及一个 go.sum 文件以用于对模块进行身份验证。有关更多信息,请参阅 Go Modules 参考中的 对模块进行身份验证。$ go mod tidy go: finding module for package rsc.io/quote go: found rsc.io/quote in rsc.io/quote v1.5.2
-
运行你的代码以查看你正在调用的函数生成的 message。
$ go run . Don't communicate by sharing memory, share memory by communicating.
请注意,你的代码调用了
Go
函数,打印了一条关于通信的巧妙 message。当你运行
go mod tidy
时,它会找到并下载包含你导入的包的rsc.io/quote
模块。默认情况下,它下载了最新版本——v1.5.2。
编写更多代码
通过这个快速介绍,你已经安装了 Go 并学习了一些基础知识。要使用另一个教程编写更多代码,请查看 创建 Go 模块。