Linux Debian9安装Go

介绍

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

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

先决条件

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

第1步 - 下载Go

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

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

sudo apt install curl

Advanced Packaging Tool(apt)是Linux下的一款安装包管理工具,是一个客户/服务器系统。 

cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl。

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

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

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

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

扫描二维码关注公众号,回复: 9668468 查看本文章
sha256sum go1.12.5.linux-amd64.tar.gz
Outputgo1.12.5.linux-amd64.tar.gz
aea86e3c73495f205929cfebba0d63f1382c8ac59be081b6351681415f4063cf  go1.12.5.linux-amd64.tar.gz

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

下载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在哪里查找其文件:

vi ~/.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安装到位并设置必要的环境路径后,让我们通过编写一个简短的程序来确认我们的设置是否有效。

export用于声明一个环境变量:
export variable=value

环境变量只在本进程和其子进程中可以访问。

如果是在系统级的配置文件中,如/etc/profile中export 一个变量,那么这个变量就会在整个系统运行期间都起作用。
如果在用户级~/.bash_profile之类的文件中,则每次启动shell都会去读这个文件,所以每次打开shell也是可以取到这个值的。
如果在某一次运行中,手动export一个变量,则只在这次shell的使用中,才能访问这个变量,或者在该shell启动的其他程序中,也是可以访问这个变量的,因为它们是这个shell的子进程。

linux的桌面程序,是不读取个人目录下的~/.bash_profile等配置文件的,因此这些export的变量对用户桌面程序是没有意义的。

你说的登录,指的是shell的生命周期。

Go 语言关键的参数就是GOPATH 和GOROOR

现在已经安装了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已成功安装并正常运行:

OutputHello, World!

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

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

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

发布了1880 篇原创文章 · 获赞 159 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/wwxy1995/article/details/104286381