返回博客

构建和安装 Go 程序

构建和安装 Go 程序

Go 是一种静态类型编程语言。Go 最初由 Google 设计,在语法上与 C 相似。然而,在功能上,Go 具有内存安全、垃圾回收、结构化类型等额外特性。在过去几年中,Go 变得非常流行。

本指南将 通过一个演示 Go 程序来介绍构建和安装 Go 程序的步骤。

Go 构建和安装

在深入探讨之前,我们先快速了解一下在 Go 编程中构建和安装的含义。

在 Go 编程中,构建是指将源代码翻译成二进制可执行文件的过程。该可执行文件将包含必要的支持代码,以便它可以在目标平台上独立运行。与 Ruby/Python 程序不同,Go 二进制文件通常不需要任何系统依赖项即可在新系统上运行。

将 Go 二进制文件放入系统的可执行文件路径中称为安装程序。如前所述,本指南将演示一个简单的 Go “Hello world” 程序的运行、构建和安装。

前提条件

在开始之前,我们先来看看您需要满足哪些前提条件才能继续本教程:

首先,我们将快速浏览一下安装和配置 Go 编程环境的过程。如需更深入的逐步 安装 Go 指南,请点击这里.

安装 Go

Go 适用于所有主流平台(Windows、Linux 和 macOS)。官方可直接从 Golang 获取。由于该网站的名称,Go 经常被称为 Golang。在这里,我们将始终把 Go 编程语言称为 Go,把 Golang 网站称为 Golang。

Golang 提供了关于 所有受支持平台的 Go 安装的详细文档。然而,官方方法描述的是手动安装。每次发布新版本时,您都必须手动将安装更新到最新版本。相反,我们可以直接使用 APT(从默认的 Ubuntu 软件源)或 snap(从 Snapcraft).

●     使用 APT 安装 Go

Go 可以直接从官方 Ubuntu 软件源中获取。然而,它并不总是最新版本的 Go。Ubuntu 软件源中还提供了两种变体的 Go: golang-gogccgo-go。虽然 golang-go 是来自 Golang 的官方版本,而 gccgo-go 则是 GCC 的 Go 前端(作为 GNU 编译器的一部分)。通常, golang-go 是首选。

要安装 golang-go,请运行以下 APT command:

Go Programs apt update and go install

检查 Go 版本:

go version
●     使用 snap 安装 Go

Snap 是通用的 Linux 软件包,可以安装在任何受支持的发行版上。Snapcraft 列出了所有 受支持的发行版及其安装指南。在 Ubuntu 上,默认启用了 snap 支持。Go 也可以作为 snap 获取。您需要记住,它不是由 Golang 官方维护的。该 snap 包由第三方提供商管理。

要安装 Go snap,请运行以下命令:

snap install go

然后,检查 Go 版本:

snap go version

设置 Go 项目

我们的系统已经具备了开始使用 Go 开发应用所需的所有工具。是时候建立我们的演示项目了。首先,为我们的项目创建一个专用目录:

mkdir demo_project

接下来,将当前目录切换到新创建的目录:

cd demo_project

在这里,创建一个名为 main.go:

以下代码包含一个简单的程序,运行时将打印 “Hello world”。复制该代码:

Go Programs nano main_go

保存文件并关闭编辑器。验证代码是否正常运行:

run main_go

Go 编译器将源文件构建为二进制文件并执行了它。这也验证了程序正在成功运行。

Go 工作区配置

为了正确安装 Go 程序,我们需要配置 Go 工作区和 GOPATH。

首先,创建目录结构:

mkdir bin src

接下来,我们需要声明 GOPATH 的值,并将其添加到 PATH 中。打开 bashrc 文件:

Go Programs nano bashrc

在文件末尾添加以下行:

Go Programs nano bashrc modified

重新加载 bashrc:

验证更改是否成功:

path variable

构建 Go 二进制文件

本节将演示如何将 Go 代码编译为可分发的独立二进制文件。该二进制文件不仅包含 Go 代码,还包含运行该二进制文件所需的其他系统代码。要编译我们的代码,请运行以下命令:

build main_go

如果有多个 Go 代码文件,请使用以下命令:

如果未指定文件,Go 将在当前目录中搜索 Go 文件并编译所有这些文件。每个二进制文件都以其源 Go 文件命名。在此示例中,Go 构建了程序 main。运行该程序:

run main binary

该程序已准备好分发到其他计算机。

●     更改二进制文件名称

每当构建时,Go 都会自动为可执行文件选择一个名称。在选择名称时,有两种可能的选项。

  • 如果 Go modules 模块,则可执行文件将使用模块名称的最后一部分。
  • 如果不使用 Go 模块,则 Go 将使用当前目录的名称或源文件的名称。

处理更复杂的程序需要不同的命名规范。在这种情况下,这些默认的命名方法并不是很有用。在这种情况下,最好的方法是使用标志 -o 自定义输出。让我们进行一个快速演示。使用标志 -o 来指定不同的文件名:

build binary with different name

标志 -o 会告诉 Go 将输出与给定的参数相匹配。在这种情况下,可执行文件将位于目录 bin 下并命名为 hello.

接下来,测试新的可执行文件:

bin hello_go

安装 Go 程序

到目前为止,我们已经演示了如何从源文件构建可分发的 Go 二进制文件。我们可以在其他系统上分发它们、进行部署和测试。但是,它们无法在其源目录之外执行。如果您计划积极使用该程序,那么这个限制可能会非常令人烦恼。为了让事情变得更容易,我们可以安装 Go 程序并从整个系统的任何地方访问它们。

要安装该程序,请在源目录中运行以下 Go 命令:

go install

此命令的行为与 go build 相同。但是,它不会将可执行文件留在源目录中,而是将其放入以下目录中:

变量 GOPATHGOBIN 会告诉 Go 在哪里寻找 Go 工作区。 GOPATH 默认是位置 $HOME/go。我们手动将 GOBIN 设置为 $GOPATH/bin。要检查 GOPATHGOBIN ,请使用以下命令:

go env path

检查 $GOPATH/bin 的内容。我们的程序应该就在那里:

ls go path

是时候验证安装是否成功了。将当前目录更改为其他位置,然后尝试运行 Go 程序:

Go Programs check installation by running binary

最后,您应该能够将程序安装到系统中。这样,您就可以随时随地在需要时使用它们。

结语

在本教程中,我们成功演示了如何使用 Go 工具链从源代码构建可执行二进制文件。即使没有任何 Go 配置,这些二进制文件也可以在其他系统上使用。最后,我们演示了如何安装 Go 程序,使其在系统的任何地方都可用。

对于开发人员, CloudSigma 提供 Go API 支持 来管理您的云服务器。它支持编辑资源和扩展基础设施。

祝您计算愉快!

author

Pranay Kapgate

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的创意设计师,专注于通过传统和创新营销渠道打造一致的企业形象。他擅长将艺术愿景与战略营销相融合,创造具有影响力的品牌叙事。

评论

暂无评论。发表第一条评论吧。