如何在Debian 9上安装Go

本教程将指导您下载和安装Go,以及在Debian 9服务器上编译和执行传统的“Hello,World!”程序。

介绍

Go ,也称为golang ,是由Google开发的一种现代开源编程语言。 Go在许多应用程序中越来越受欢迎,它采用极简主义的开发方法,帮助您构建可靠,高效的软件。

本教程将指导您下载和安装Go,以及在Debian 9服务器上编译和执行基本的“Hello,World!”程序。

先决条件

要完成本教程,您需要访问Debian 9服务器和具有sudo权限的非root用户,如使用Debian 9进行初始服务器设置中所述。

第1步 - 下载Go

在此步骤中,我们将在您的服务器上安装Go。

首先,安装curl这样你就可以获得最新的Go版本:

sudo apt install curl

接下来,访问官方Go下载页面 ,找到当前二进制版本的tarball的URL。 确保复制与64位体系结构兼容的最新版本的链接。

从您的主目录,使用curl检索tarball:

curl -O https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz

虽然tarball来自真正的来源,但最佳做法是验证从Internet下载的项目的真实性和完整性。 此验证方法证明文件在下载过程中既未被篡改也未被破坏或损坏。 sha256sum命令产生一个唯一的256位哈希:

sha256sum go1.12.5.linux-amd64.tar.gz
go1.12.5.linux-amd64.tar.gz
aea86e3c73495f205929cfebba0d63f1382c8ac59be081b6351681415f4063cf  go1.12.5.linux-amd64.tar.gz

将输出中的哈希值与Go下载页面上的校验和值进行比较。 如果它们匹配,则可以安全地断定下载是合法的。

下载Go并验证文件的完整性后,我们继续安装。

第2步 - 安装Go

我们现在将使用tar来提取tarball。 x标志告诉tar提取, v告诉它我们想要详细输出,包括正在提取的文件列表, f告诉它我们将指定一个文件名:

tar xvf go1.12.5.linux-amd64.tar.gz

您现在应该在主目录中有一个名为go的目录。 递归地将此目录的所有者和组更改为root ,并将其移动到/usr/local

sudo chown -R root:root ./go
sudo mv go /usr/local

注意:虽然/usr/local/go是官方推荐的位置,但有些用户可能更喜欢或需要不同的路径。

此时,使用Go将需要在命令行中指定其安装位置的完整路径。 为了使与Go的交互更加用户友好,我们将设置一些路径。

第2步 - 设置Go路径

在此步骤中,我们将在您的环境中设置一些路径。

首先,设置Go的根值,告诉Go在哪里查找其文件:

nano ~/.profile

在文件末尾添加以下行:

export GOPATH=$HOME/work
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

如果为Go选择了不同的安装位置,则应将以下行添加到此文件中, 而不是上面显示的行。 在此示例中,我们将添加在主目录中安装Go时所需的行:

export GOROOT=$HOME/go
export GOPATH=$HOME/work
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

使用粘贴到配置文件中的相应行,保存并关闭文件。

接下来,通过运行以下命令刷新您

source ~/.profile

在Go安装到位并设置必要的环境路径后,让我们通过编写一个简短的程序来确认我们的设置是否有效。

第3步 - 测试您的安装

现在已经安装了Go并为您的服务器设置了路径,您可以确保Go按预期工作。

为Go工作区创建一个新目录,Go将构建其文件:

mkdir $HOME/work

然后,在此文件夹中创建目录层次结构,以便您可以创建测试文件。 我们将以my_project目录为例:

mkdir -p work/src/my_project/hello

接下来,您可以创建传统的“Hello World”Go文件:

nano ~/work/src/my_project/hello/hello.go

在编辑器中,将以下代码添加到文件中,该文件使用主Go包,导入格式化的IO内容组件,并设置一个新函数来打印“Hello,World!”。 运行时:

〜/工作/ src目录/ MY_PROJECT /你好/ hello.go
package main

import "fmt"

func main() {
    fmt.Printf("Hello, World!\n")
}

当它运行时,该程序将打印“Hello,World!”,表示Go程序正在正确编译。

保存并关闭该文件,然后通过调用Go命令install编译它:

go install my_project/hello

编译程序后,您可以通过执行以下命令来运行它:

hello

如果您看到以下输出,则Go已成功安装并正常运行:

Hello, World!

您可以使用which命令查看已安装编译的hello二进制文件的位置:

which hello
/home/sammy/work/bin/hello

“Hello,World!”程序确定您拥有Go开发环境。

结论

通过下载并安装最新的Go包并设置其路径,您现在可以使用一个用于Go开发的系统。 要了解有关使用Go的更多信息,请参阅我们的开发系列如何在Go中编码 您还可以参考有关如何编写Go Code的官方文档。

此外,您还可以阅读DigitalOcean 开发团队的一些Go技巧