本文翻译自《Tutorial: Get started with Go》。
目录
在本教程中,你将简要介绍Go编程。在此过程中,你将:
- 安装Go(如果尚未安装)。
- 编写一些简单的“Hello, world”代码。
- 使用
go
命令运行你的代码。 - 使用Go包工具查找可在你的代码中使用的包。
- 调用外部模块的函数。
注意:有关其他教程,请参阅教程。
先决条件
- 一些编程经验。此处的代码非常简单,但有助于了解一些有关函数的知识。
- 一个编辑代码的工具。你拥有的任何文本编辑器都可以正常工作。大多数文本编辑器都对Go有很好的支持。最受欢迎的是VSCode(免费)、GoLand(付费)和Vim(免费)。
- 一个命令行终端。Go在Linux和Mac上的任何终端,以及Windows中的PowerShell或cmd上都能很好地工作。
安装Go
只需使用下载和安装步骤。
写一些代码
从Hello,World开始。
1 打开命令提示符并cd到家目录。
在Linux或Mac上:
cd
在Windows上:
cd %HOMEPATH%
2 为第一个Go源代码创建hello目录。
例如,使用以下命令:
mkdir hello
cd hello
3 为代码启用依赖项跟踪。
当你的代码导入包含在其他模块中的包时,你可以在自己的模块中管理这些依赖关系。该模块由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
4 在文本编辑器中,创建一个文件hello.go,在其中编写代码。
5 将以下代码粘贴到hello.go文件中并保存该文件。
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
这是你的Go代码。在此代码中,你:
- 声明一个
main
包(包是对函数进行分组的一种方式,它由同一目录中的所有文件组成)。 - 导入流行的
fmt
包,其中包含格式化文本的功能,包括打印到控制台。此软件包是安装Go时获得的标准库软件包之一。 - 实现将消息打印到控制台的
main
函数。运行main
包时,默认情况下会执行main
函数。
6 运行你的代码以查看这句问候语。
$ go run .
Hello, World!
go run
命令是你将使用Go完成任务的众多命令之一。使用以下命令获取其他列表:
$ go help
在外部包中调用代码
当你需要你的代码执行其他人可能已实现的操作时,你可以寻找具有对应功能的第三方包。
1 使用外部模块的功能使你打印的消息更有趣。
1) 访问pkg.go.dev并搜索“quote”包。
2) 在搜索结果中找到并单击rsc.io/quote
包(如果你看到rsc.io/quote/v3
,请暂时忽略它)。
3) 在“文档Documentation”部分的“索引Index”下,记下你可以从代码中调用的函数列表。你将使用Go函数。
4) 在本页顶部,请注意包quote
含在rsc.io/quote
模块中。
你可以使用pkg.go.dev站点查找已发布的模块,这些模块的包中包含你可以在自己的代码中使用的功能。包在模块中发布,比如rsc.io/quote
。随着时间的推移,新版本对模块进行了改进,你可以升级代码以使用改进的版本。
2 在Go代码中,导入rsc.io/quote
包并调用其Go函数。
添加高亮显示的行后,代码应包括以下内容:
package main
import "fmt"
import "rsc.io/quote"
func main() {
fmt.Println(quote.Go())
}
3 添加新的模块需求和go.sum。
Go将根据需要添加rsc.io/quote
模块,以及用于验证模块的go.sum文件。有关更多信息,请参阅Go modules Reference中的Authenticating modules。
$ go mod tidy
go: finding module for package rsc.io/quote
go: found rsc.io/quote in rsc.io/quote v1.5.2
4 运行代码以查看所调用函数生成的消息。
$ go run .
Don't communicate by sharing memory, share memory by communicating.
请注意,你的代码调用Go函数,打印关于通信的巧妙消息。
当你运行go mod tidy
时,它找到并下载了包含你导入的包的rsc.io/quote
模块。默认情况下,它下载最新版本——v1.5.2。
写更多的代码
通过这篇快速入门教程,你安装了Go并学习了一些基本知识。要使用其他教程编写更多代码,请查看创建一个Go模块。