教程:Go 入门

在本教程中,您将简要了解 Go 语言编程。通过这个过程,您将:

前提条件

安装 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 package(包是将函数分组的一种方式,它由同一目录中的所有文件组成)。
    • 导入了常用的 fmt,它包含用于格式化文本的函数,包括打印到控制台。这个包是您安装 Go 时获得的标准库包之一。
    • 实现了一个 main function(函数),用于向控制台打印一条消息。当您运行 main package(包)时,main function(函数)会默认执行。
  6. 运行您的代码以查看问候语。

    $ go run .
    Hello, World!
    

    go run 命令是您将用来完成 Go 任务的众多 go 命令之一。使用以下命令获取其他命令列表:

    $ go help
    

调用外部包中的代码

当您需要让代码执行可能已由他人实现的功能时,可以查找一个具有可以在您代码中使用的函数的包。

  1. 使用来自外部模块的函数使您打印的消息更有趣一些。
    1. 访问 pkg.go.dev 并 搜索 "quote" 包
    2. 在搜索结果中,找到并点击 rsc.io/quote 包的 v1 版本(它应该与 rsc.io/quote/v4 的 "Other major versions" 列在一起)。
    3. 文档部分,索引下,注意可以从代码中调用的函数列表。您将使用 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 会将 quote 模块添加为依赖项,并生成一个 go.sum 文件用于模块身份验证。更多信息请参阅 Go 模块参考文档中的 模块身份验证 部分。

    $ 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 模块