介绍
Go,也被称为 golang,是一个现代的开源编程语言,由谷歌开发,Go试图使软件开发安全,快速和可访问,以帮助您构建可靠和高效的软件。
本教程将指导您从源头下载和安装 Go,以及在 Debian 10 服务器上编译和运行Hello, World!
程序。
前提条件
要完成本教程,您需要访问 Debian 10 服务器和具有sudo
特权的非根用户,如在 Debian 10 初始服务器设置中所述。
步骤一:下载
在此步骤中,我们将在您的服务器上安装Go。
首先,请使用以下命令确保您的apt
包索引是最新的:
1sudo apt update
现在安装‘curl’,以便您可以获取最新 Go 版本:
1sudo apt install curl
接下来,访问 官方 Go 下载页面并找到当前二进制版本的 tarball 的 URL. 确保您复制与 64 位架构兼容的最新版本的链接。
从您的家庭目录中,使用弯曲
来获取 tarball:
1curl -O https://dl.google.com/go/go1.12.7.linux-amd64.tar.gz
虽然 tarball 来自真正的来源,但最好是验证从互联网下载的项目的真实性和完整性,这种验证方法证明文件在下载过程中既没有被篡改,也没有被破坏或损坏。
1sha256sum go1.12.7.linux-amd64.tar.gz
1[secondary_label Output]
2go1.12.7.linux-amd64.tar.gz
3 66d83bfb5a9ede000e33c6579a91a29e6b101829ad41fffb5c5bb6c900e109d9 go1.12.7.linux-amd64.tar.gz
将输出中的哈希与下载页面上的检查总值进行比较(https://golang.org/dl/).如果它们匹配,那么可以确定下载是合法的。
随着Go下载并验证了文件的完整性,让我们继续安装。
步骤二:安装
我们现在将使用tar
来提取 tarball. 以下旗帜被用来指示tar
如何提取,查看和操作下载的 tarball:
*x
旗表示我们希望从 tarball
中提取文件 *v
旗表示我们希望进行 verbose 输出,包括提取的文件列表
*f
旗表示tar
,我们将指定一个文件名以在
上运作
现在让我们把所有东西都放在一起,并运行命令来提取包:
1tar xvf go1.12.7.linux-amd64.tar.gz
您现在应该在您的主目录中有一个名为go
的目录. 重复地将该目录的所有者和组更改为 root ,并将其移动到 /usr/local
:
1sudo chown -R root:root ./go
2sudo mv go /usr/local
<$>[注]
注: 虽然/usr/local/go
是官方推荐的位置,但有些用户可能更喜欢或需要不同的路径。
在此时,使用 Go 将需要在命令行中指定到其安装位置的完整路径. 为了使与 Go 交互更加用户友好,我们将设置几个路径。
步骤二:设置路径
在这个步骤中,我们将在您的环境中设置一些路径。
首先,设置 Go 的根值,该值告诉 Go 在哪里搜索其文件:
1nano ~/.profile
在文件的末尾,添加以下行:
1export GOPATH=$HOME/work
2export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
如果您为 Go 选择了不同的安装位置,那么您应该将下列行添加到此文件中,而不是上面的行。
1export GOROOT=$HOME/go
2export GOPATH=$HOME/work
3export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
用相应的行粘贴到您的个人资料中,保存和关闭文件。
接下来,通过运行来更新您的个人资料:
1source ~/.profile
有了 Go 安装和所需的环境路径,让我们通过编写一个简短的程序来确认我们的设置是有效的。
步骤3 - 测试您的安装
现在 Go 已安装,并为您的服务器设置了路径,您可以确保 Go 按预期工作。
为您的 Go 工作区创建一个新目录,这是 Go 将其文件构建的地方:
1mkdir $HOME/work
然后,在此文件夹中创建一个目录等级,以便您可以创建测试文件. 我们将使用目录 my_project
作为示例:
1mkdir -p work/src/my_project/hello
接下来,您可以创建一个传统的Hello World
Go 文件:
1nano ~/work/src/my_project/hello/hello.go
在编辑器中,将以下代码添加到文件中,该文件使用主 Go 包,导入已格式化的 IO 内容组件,并设置一个新的函数来在运行时打印Hello, World!
:
1[label ~/work/src/my_project/hello/hello.go]
2package main
3
4import "fmt"
5
6func main() {
7 fmt.Printf("Hello, World!\n")
8}
当它运行时,该程序会打印Hello, World!
,表示Go程序正在编译正确。
保存并关闭文件,然后通过召唤Go命令安装
来编译它:
1go install my_project/hello
有了编译的程序,你可以通过执行命令来运行它:
1hello
Go 已成功安装并运行,如果您看到以下输出:
1[secondary_label Output]
2Hello, World!
您可以通过使用which
命令来确定编译的hello
二进制安装在哪里:
1which hello
1[secondary_label Output]
2/home/sammy/work/bin/hello
你好,世界!
计划确立了你有一个Go开发环境。
结论
通过下载和安装最新的 Go 包,并设置其路径,您现在可以使用 Go 开发的系统。 有关与 Go 合作的更多信息,请参阅我们的开发系列 How To Code in Go。