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!")
    }

    解释:

    • 声明一个 main 包(一个包将函数分组,由同一目录中的所有文件组成)。
    • 导入 fmt 包,该包包含用于格式化 I/O 的函数,包括打印到控制台。这是 Go 标准库的一部分。
    • 实现 main 函数,当运行 main 包时,该函数默认执行。
  6. 运行你的代码以查看问候。

    go run .

    输出:

    Hello, World!

    go run 命令是许多 go 命令之一。使用 go help 探索其他命令。


调用外部包中的代码

  1. 访问 pkg.go.dev 并搜索 quote 包。
  2. 找到并点击 rsc.io/quote 包的 v1 版本(你会看到“其他主要版本”,如 rsc.io/quote/v4)。
  3. 从文档部分,选择一个要调用的函数——使用 Go 函数。
  4. 注意,此包位于 rsc.io/quote 模块中。

在你的 hello.go 中,如下修改:

package main

import "fmt"
import "rsc.io/quote"

func main() {
    fmt.Println(quote.Go())
}
  • 运行:

    go mod tidy

    示例输出:

    go: finding module for package rsc.io/quote
    go: found rsc.io/quote in rsc.io/quote v1.5.2
  • 然后运行你的代码:

    go run .

    输出:

    不要通过共享内存来通信,要通过通信来共享内存。

这显示 go mod tidy 找到并下载了 rsc.io/quote 模块(版本 v1.5.2)。


编写更多代码

有了这个快速介绍,你已经安装了 Go 并学习了一些基础知识。要编写更多代码并继续学习,请查看 创建 Go 模块 教程。


On this page