介绍
Go,有时被称为Golang
,是一个开源编程语言,由谷歌于2012年发布,谷歌的意图是创建一个可以快速学习的编程语言。
自发布以来,Go已经在开发人员中变得非常受欢迎,并用于各种应用,从云或服务器侧应用,到人工智能和机器人技术,本教程概述了如何在Ubuntu 20.04服务器上下载和安装最新版本的Go(目前版本为1.6.7)、构建著名的Hello, World!
应用程序,并将您的Go代码转化为可执行的二进制程序,以便在未来使用。
前提条件
本教程需要一个 Ubuntu 20.04 系统,配置了一个非根用户,具有sudo
权限和防火墙,如在 Ubuntu 20.04 初始服务器设置中所述。
步骤 1 - 安装
在此步驟中,您將在您的伺服器上安裝 Go。
首先,通过ssh
连接到您的Ubuntu服务器:
1[environment local]
2ssh sammy@your_server_ip
接下来,导航到您的 Web 浏览器中的 官方 Go 下载页面 从那里复制当前二进制版本的 tarball 的 URL。
要在Ubuntu服务器上安装Go(或任何Linux服务器),请复制以linux-amd64.tar.gz
结束的文件的URL。
现在你有你的链接准备好了,首先确认你在主目录:
1cd ~
然后使用‘curl’来检索 tarball,确保将突出的 URL 替换为你刚刚复制的 URL。‘-O’ 标志确保这个输出到文件中,而‘L’ 标志指示 HTTPS 重定向,因为这个链接来自 Go 网站,并将在文件下载之前重定向到这里:
1curl -OL https://golang.org/dl/go1.16.7.linux-amd64.tar.gz
要验证您下载的文件的完整性,请运行sha256sum
命令,并将其作为参数传递给文件名:
1sha256sum go1.16.7.linux-amd64.tar.gz
这将返回 tarball 的 SHA256 检查总和:
1[secondary_label Output]
2go1.16.7.linux-amd64.tar.gz
37fe7a73f55ba3e2285da36f8b085e5c0159e9564ef5f63ee0ed6b818ade8ef04 go1.16.7.linux-amd64.tar.gz
如果检查金额与下载页面上列出的金额相匹配,则您已正确执行此步骤。
接下来,使用tar
来提取 tarball. 这个命令包括-C
旗,指示tar在执行任何其他操作之前更改给定的目录. 这意味着提取的文件将被写到/usr/local/
目录,这是安装Go的推荐位置。 x
旗告诉tar
提取,v
告诉我们想要 verbose输出(提取的文件的列表),f
告诉我们将指定一个文件名:
1sudo tar -C /usr/local -xvf go1.16.7.linux-amd64.tar.gz
虽然/usr/local/go
是安装 Go 的推荐位置,但有些用户可能更喜欢或需要不同的路径。
步骤二:设置路径
在这个步骤中,你将在你的环境中设置路径。
首先,设置 Go 的根值,该值告诉 Go 在哪里寻找其文件。
您可以通过编辑 .profile
文件来完成此操作,该文件包含系统每次登录时运行的命令列表。
使用您喜爱的编辑器打开.profile
,该文件存储在您的用户主目录中. 在这里,我们将使用nano
:
1sudo nano ~/.profile
然后,将以下信息添加到您的文件的末尾:
1[label sudo nano ~/.profile]
2. . .
3export PATH=$PATH:/usr/local/go/bin
将这些信息添加到您的个人资料后,保存并关闭文件. 如果您使用了nano
,请按CTRL+X
,然后按Y
,然后按ENTER
。
接下来,通过运行以下命令来更新您的个人资料:
1source ~/.profile
接下来,检查您是否可以通过运行go version
来执行go
命令:
1go version
此命令将输出您系统上安装的任何 Go 版本的发布号码:
1[secondary_label Output]
2go version go1.16.7 linux/amd64
此输出确认您现在在您的服务器上运行 Go。
步骤3 - 测试您的安装
现在Go已安装,并为您的服务器设置了路径,您可以尝试创建您的你好,世界!
应用程序,以确保Go工作。
首先,为您的 Go 工作区创建一个新目录,这就是 Go 将其文件构建的地方:
1mkdir hello
然后进入您刚刚创建的目录:
1cd hello
导入包时,您必须通过代码的自身模块来管理依赖性,您可以通过使用go mod init
命令创建一个go.mod
文件来做到这一点:
1go mod init your_domain/hello
接下来,在您喜爱的文本编辑器中创建一个Hello, World!
Go文件:
1nano hello.go
将以下文本添加到您的hello.go
文件中:
1[label hello.go]
2package main
3
4import "fmt"
5
6func main() {
7 fmt.Println("Hello, World!")
8}
然后,通过按CTRL+X
,然后按Y
,然后按ENTER
来保存和关闭文件。
测试您的代码,检查它是否打印了你好,世界!
的问候:
1go run .
1[secondary_label Output]
2Hello, World!
go run
命令编译并从您创建的新hello
目录和您导入的路径的.go
源文件列表中运行Go包,但您也可以使用go build
创建可执行的文件,从而节省您一些时间。
步骤 4 – 将您的Go代码转化为二进制可执行
go run
命令通常被用作编译和运行需要频繁更改的程序的捷径。在你完成了代码并希望运行它而不每次编译时,你可以使用go build
将你的代码转换为可执行的二进制代码。将你的代码转换为可执行的二进制代码,将你的应用程序合并为一个单个文件,具有执行二进制代码所需的所有支持代码。一旦你建立了二进制代码,你就可以运行go install
来将你的程序放置在可执行的文件路径上,这样你就可以在你的系统上从任何地方运行。
尝试一下,然后运行去构建
。请确保您从存储您的hello.go
文件的相同目录中运行:
1go build
接下来,运行./hello
来确认代码正常工作:
1./hello
1[secondary_label Output]
2Hello, World!
这确认你已经成功地将你的hello.go
代码转换为可执行的二进制代码,但是,你只能从该目录中调用此二进制代码,如果你想在你的服务器上从不同的位置运行这个程序,你需要指定该二进制的完整文件路径才能执行它。
输入一个二进制的完整文件路径可以很快变得无聊。作为一个替代方法,你可以运行去安装
命令. 这类似于去构建
,但而不是在当前目录中留下可执行的,去安装
将其放入$GOPATH/bin
目录中,这将允许你从服务器上的任何位置运行。
为了成功运行Go install
,你必须通过你用Go build
创建的二进制的安装路径。
1go list -f ‘{{.Target}}’
go list
会生成在当前工作目录中存储的任何名为 Go 包的列表. f
旗将导致 go list
以基于您传输的任何包模板以不同的格式返回输出。
1[secondary_label Output]
2‘/home/sammy/go/bin/hello
这是你用go build
创建的二进制文件的安装路径,这意味着安装此二进制文件的目录是/home/sammy/go/bin/
。
请确保更改这个命令的突出部分,以反映系统上的二进制的安装目录,如果不同:
1export PATH=$PATH:/home/sammy/go/bin/
最后,运行去安装
来编译和安装包:
1go install
尝试运行这个可执行的二进制,只需输入你好
1hello
1[secondary_label Output]
2Hello, World!
如果您收到Hello, World!
输出,那么您已经成功地将您的Go程序从您的服务器上的特定和未指定路径执行。
结论
通过下载和安装最新的 Go 包,并设置其路径,您现在有一个系统可用于 Go 开发。您可以在我们的 Go
标签中找到并订阅有关安装和使用 Go 的其他文章。