如何在树莓派上编译并运行 Go 程序?

在本教程中,我们将向您展示如何在树莓派上安装和使用 Go 编译器。

Go (由于其网站领域而被通用称为 Golang),是一种编程语言,旨在帮助处理多核和联网机器的编程。

就代码的可读性和可用性而言,Go 与 Python 和 JavaScript 相似。

像 Python 一样,您不需要以分号结尾。 Go 编译器自动检测并处理行结束时间。但是,对于此实现有一些注意事项,本指南中不会涉及。

Go 最好的事情之一就是合理的可移植代码。这意味着您可以相对轻松地获得 Go 代码,以在诸如树莓派的 ARM 机器上进行编译。

在这个树莓派项目中,您将安装 Go 编译器并学习如何编写一个简单的 hello world 脚本来对其进行测试。

设备清单

对于在树莓派上安装和使用 Go 编译器的本教程,我们利用了以下设备列表。

推荐的

  • 树莓派

  • Micro SD 卡

  • 电源

  • Ethernet Cord 或 * WiFi dongle (Pi 3 和 4 具有内置 WiFi)

  • HDMI 电缆

可选的

  • 树莓派外壳

我们在运行树莓派 OS] 最新版本的 [树莓派 4 上测试了树莓派 Go 教程。 download-raspbian /)(总线版本)。

在树莓派上安装 Go

本节将向您展示如何在树莓派上安装 Go 编译器。对于本指南,我们将从官方 Go 网站下载最新版本。

原因是通过树莓派 OS 存储库提供的版本经常过时。

1 在继续之前,请确保我们的操作系统是最新的。

我们可以通过在树莓派上运行以下两个命令来做到这一点。

sudo apt update
sudo apt full-upgrade

2 更新完成后,我们现在可以下载 Go Compiler 的最新可用版本。

您可以通过转到 Golang 下载网站并查找”armv6l” 来检查 Go 编译器的最新版本。

要下载 Go 编译器,请在树莓派上运行以下命令。

wget https://dl.google.com/go/go1.13.7.linux-armv6l.tar.gz -O go.tar.gz

3 包含 Go 编译器的归档文件完成下载后,我们现在可以将其解压缩。

我们需要将这些文件解压缩到 /usr/local / 目录中。

使用以下命令开始提取 Go 文件。

sudo tar -C/usr/local -xzf go.tar.gz

4 现在我们在所需的位置有了编译器,我们需要告诉命令行文件存在。

为此,我们将需要修改当前用户的 bash 别名 (.bashrc)。命令行使用此文件来知道在哪里可以找到 GO 二进制文件。

运行以下命令以开始使用 vim 编辑文件。

vim 〜/.bashrc

5 将以下两行添加到文件底部。

这些行告诉命令行 Go 二进制文件的存在位置。以及定义一个名为 GOPATH 的新路径变量。

导出 GOPATH = $ HOME/go
导出 PATH =/usr/local/go/bin:$ PATH:$ GOPATH/bin

6 添加两行后,请按 CTRL + X,然后按 Y ,然后按 ENTER 键来保存文件。

7 现在,我们需要强制命令行将对.bashrc 文件的更改载入。

使用以下命令加载我们的更新文件。

source ~/.bashrc

如果不这样做,我们将需要重启设备以使更改生效。

编写 Hello World Go 脚本

现在我们已经在树莓派上安装了 Go 编译器,现在可以对其进行测试。为了验证它是否有效,我们将编写一个简单的”** Hello World **” 脚本。

1 为了简单起见,我们将使用 nano 编写第一个脚本。

通过运行以下命令开始编写名为 hello-world.go 的 Go 脚本。

vim hello-world.go

2 在此脚本中,输入以下代码行。

我们将逐步解释每段代码的作用。

包主

这行代码定义了此文件的软件包名称。在 Go 中,每个文件都必须以包名开头。

程序包名称有助于提高代码的可重用性,并提供一定程度的隔离。

在本例中,我们使用的包名称为”main”。

导入"fmt"接下来,我们需要导入将要使用的包。 `fmt`软件包是 Go 编译器提供的标准软件包。

该软件包将使我们能够轻松地将文本打印到命令行。

func main(){
    fmt.Println("H​​ello World")
}

使用这段代码,我们正在做两件事。

1 首先,我们定义 main() 函数。

执行程序时,主功能自动运行。

“main” 函数只能在”main” 包中定义。

我们使用大括号 {} 来指示函数的开始和结束。

2 在我们的 main () 函数中,我们调用单行代码。这段代码是我们的 fmt.println("H​​ello World") 行。

该行利用了 fmt 包中的 Println 函数。

此功能所做的全部工作就是将我们定义的文本打印到标准输出中。

3 完成后,您的代码应最终看起来像下面的代码。

包主

导入"fmt"

func main(){
    fmt.Println("H​​ello World")
}

如果正确输入了所有代码,则可以通过按 CTRL + X,然后按 Y ,然后按 Enter 键来保存文件。

在树莓派上测试 Go 编译器

在本节中,我们将向您展示如何使用树莓派上的 Go 编译器来编译 hello-world.go 脚本。

1 让我们通过在树莓派上运行 Go 编译器来测试代码是否正常工作。

我们需要做的就是运行以下命令,先指定”go”,然后指定”run”,再指定源文件。

去运行 hello -world.go

当我们指定 run 时,Go 编译器将解释并执行代码。它不会保存为可运行的可执行文件。

通过运行我们的 hello world 脚本,您应该最终在终端中看到以下文本。

你好,世界

2 如果要将代码编译成可执行应用程序,我们可以对上一个命令进行一些修改。

而不是使用 run 参数,我们将使用 build 参数。

去建立 hello -world.go

该命令会将 Go 脚本编译成可以在树莓派上运行的程序。

由于我们没有指定任何内容来告诉它应该编译哪个系统,因此它将自动检测我们当前的系统架构。

3 由于我们现在有了 Go 脚本的编译版本,因此我们可以直接运行它而无需调用 Go 编译器。

要运行它,我们需要做的就是运行以下命令。

。/你好,世界

运行此命令后,您应该在终端中看到以下内容

你好,世界

现在,该脚本的编译版本应该可以在与树莓派具有相同架构的任何设备上运行。

希望在这一点上,您现在对如何在树莓派上使用 Go 来设置,运行和编译程序有了一个想法。

如果您对此树莓派项目遇到任何问题,请在下面发表评论。

分享到