**状态:**已弃用

本文已弃用,不再维护。

原因

我们现在正在为每个Linux发行版分别对Go install文档进行版本控制和更新。

请参见

本文作为参考可能仍然有用,但可能无法工作或遵循最佳实践。我们强烈建议您使用为您正在使用的操作系统编写的最新文章。

  • 如何在Ubuntu 20.04上安装Go

介绍

围棋是一种编程语言,诞生于谷歌的挫折。开发人员必须不断选择一种执行效率高但编译时间长的语言,或者选择一种易于编程但在生产中运行效率低的语言。Go旨在同时提供这三种功能:快速编译、易于编程和在生产中高效执行。

虽然Go是一种通用编程语言,可以用于许多不同的编程项目,但它特别适合于网络/分布式系统程序,并赢得了“云语言”的美誉。它的重点是帮助现代程序员利用一套强大的工具做更多的事情,通过将格式作为语言规范的一部分,消除关于格式的争论,并通过编译为单个二进制文件来简化部署。Go很容易学习,只有一组非常小的关键字,这使它成为初学者和有经验的开发人员的最佳选择。

本教程将引导您通过命令行安装和配置编程工作区。本教程将明确介绍Ubuntu 18.04的安装过程,但一般原则适用于其他Debian Linux发行版。

先决条件

你需要一台安装了Ubuntu 18.04的计算机或虚拟机,以及对该计算机的管理权限和互联网连接。您可以通过Ubuntu 18.04发布页面下载此操作系统。

步骤1-设置Go

在此步骤中,您将通过从官方Go下载页面下载当前版本来安装Go。

为此,您需要找到当前二进制版本tarball的URL。您还需要注意它旁边列出的SHA256散列,因为您将使用该散列来验证下载的文件。

您将在命令行上完成安装和设置,这是一种与计算机交互的非图形方式。也就是说,你不用点击按钮,而是输入文本并通过文本接收来自计算机的反馈。

命令行也称为“shell”或“terminal”,可以帮助您修改和自动化每天在计算机上执行的许多任务,是软件开发人员必不可少的工具。有许多终端命令需要学习,可以让你做更强大的事情。有关命令行的更多信息,请参阅Linux终端简介教程。

terminalCTRLALTT

Ubuntu终端

apt-get
~
cd ~
curl
curl -LO https://dl.google.com/go/go1.12.1.linux-amd64.tar.gz
sha256sum
sha256sum go1.12.1.linux-amd64.tar.gz

运行上述命令时显示的哈希值应与下载页面上的哈希值匹配。如果没有,则这不是有效文件,您应该再次下载该文件。

Output2a3fdabf665496a0db5f41ec6af7a9b15a49fbe71a85a50ca38b1f13a103aeec  go1.12.1.linux-amd64.tar.gz
/usr/local
sudo tar -xvf go1.12.1.linux-amd64.tar.gz -C /usr/local
/usr/localgo
/usr/local/go

在这一步中,您下载并在Ubuntu 18.04机器上安装了Go。在下一步中,您将配置Go工作区。

第2步-创建Go工作区

安装Go后,您可以创建编程工作区。Go工作区的根目录中将包含两个目录:

srcbin
srcgithub.com/digitalocean/godo
github.comgolang.orggithub.com

以下是典型工作区的外观:

.
├── bin
│   ├── buffalo                                      # command executable
│   ├── dlv                                          # command executable
│   └── packr                                        # command executable
└── src
    └── github.com
        └── digitalocean
            └── godo
                ├── .git                            # Git repository metadata
                ├── account.go                      # package source
                ├── account_test.go                 # test source
                ├── ...
                ├── timestamp.go
                ├── timestamp_test.go
                └── util
                    ├── droplet.go
                    └── droplet_test.go
go$HOME/go$HOME/go

发出以下命令以创建Go工作区的目录结构:

mkdir -p $HOME/go/{bin,src}
-pmkdirparents{bin,src}mkdirbinsrc

这将确保以下目录结构现已就位:

└── $HOME
    └── go
        ├── bin
        └── src
$GOPATH$GOPATH
~/.profile$GOPATH.zshrc.bashrc
nano~/.profile
nano ~/.profile
$GOPATH

~/.配置文件

export GOPATH=$HOME/go
$GOPATH/bin/bin~/.profilePATH

~/.配置文件

export PATH=$PATH:$GOPATH/bin

这将允许您在系统的任何位置运行通过Go工具编译或下载的任何程序。

goPATH/usr/local/go/bin

~/.配置文件

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

要更新shell,请发出以下命令以加载全局变量:

. ~/.profile
echo$PATH
echo $PATH
$GOPATH/binroot/root/go/bin
Output/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/root/go/bin:/usr/local/go/bin
/usr/local/go/bin
Output/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/root/go/bin:/usr/local/go/bin

通过检查Go的当前版本来验证安装:

go version

我们应该收到这样的输出:

Outputgo version go1.12.1 linux/amd64
$GOPATHgithub.com
$GOPATH/src/github.com/username/project
https://github.com/digitalocean/godo
$GOPATH/src/github.com/digitalocean/godo
go getgo getgodo
go get github.com/digitalocean/godo
godo$GOPATH/src/github.com/digitalocean/godo
godo
ll $GOPATH/src/github.com/digitalocean/godo

您应该看到类似的输出:

Outputdrwxr-xr-x 4 root root  4096 Apr  5 00:43 ./
drwxr-xr-x 3 root root  4096 Apr  5 00:43 ../
drwxr-xr-x 8 root root  4096 Apr  5 00:43 .git/
-rwxr-xr-x 1 root root     8 Apr  5 00:43 .gitignore*
-rw-r--r-- 1 root root    61 Apr  5 00:43 .travis.yml
-rw-r--r-- 1 root root  2808 Apr  5 00:43 CHANGELOG.md
-rw-r--r-- 1 root root  1851 Apr  5 00:43 CONTRIBUTING.md
.
.
.
-rw-r--r-- 1 root root  4893 Apr  5 00:43 vpcs.go
-rw-r--r-- 1 root root  4091 Apr  5 00:43 vpcs_test.go

在这一步中,您创建了Go工作区并配置了必要的环境变量。在下一步中,您将使用一些代码测试工作区。

步骤3-创建简单程序

现在已经设置了Go工作区,创建一个“Hello,World!”程序这将确保正确配置工作区,并让您有机会更加熟悉围棋。因为我们正在创建一个单一的Go源文件,而不是一个实际的项目,所以我们不需要在工作区中完成这项工作。

nano
nano hello.go

在新文件中编写程序:

package main
import "fmt"
func main() {
	fmt.Println("Hello, World!")
}
fmtHello, World!PrintlnHello, World!
CTRLXnanoYENTER
nano
go run hello.go
hello.go
OutputHello, World!

在这一步中,您使用了basic程序来验证Go工作区是否正确配置。

结论

祝贺在这一点上,你已经在你的Ubuntu机器上建立了一个Go编程工作区,可以开始一个编码项目了!