在Ubuntu 18.04上安装Go的方法

简介: 在Ubuntu 18.04上安装Go的方法

简介

Go 是一种由 Google 开发的现代编程语言。它在许多应用程序和许多公司中越来越受欢迎,并提供了一套强大的库。本教程将指导您下载和安装最新版本的 Go(本文发布时为 Go 1.10),以及构建一个简单的 Hello World 应用程序。

先决条件

本教程假设您可以访问配置了非 root 用户并具有 sudo 权限的 Ubuntu 18.04 系统,具体配置方法请参考《使用 Ubuntu 18.04 进行初始服务器设置》。

步骤 1 — 安装 Go

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

首先,通过 ssh 连接到您的 Ubuntu 服务器:

ssh sammy@your_server_ip

要安装 Go,您需要从官方 Go 下载页面获取最新版本。在该网站上,您可以找到当前二进制发布版本的 tarball 的 URL,以及其 SHA256 哈希值。

访问官方 Go 下载页面,找到当前二进制发布版本的 tarball 的 URL 以及其 SHA256 哈希值。确保您位于主目录,并使用 curl 下载 tarball:

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

接下来,您可以使用 sha256sum 验证 tarball:

sha256sum go1.10.3.linux-amd64.tar.gz
[secondary_label Sample Output]
go1.10.3.linux-amd64.tar.gz
fa1b0e45d3b647c252f51f5e1204aba049cde4af177ef9f2181f43004f901035  go1.10.3.linux-amd64.tar.gz

您将获得类似上面输出中突出显示的哈希值。确保它与下载页面上的哈希值匹配。

接下来,使用 tar 解压 tarball。x 标志告诉 tar 进行解压,v 告诉它我们需要详细输出(列出正在解压的文件),f 告诉它我们将指定一个文件名:

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

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

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

步骤 2 — 设置 Go 路径

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

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

sudo 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

步骤 3 — 测试安装

现在,Go 已安装并且服务器的路径已设置好,您可以测试以确保 Go 正常工作。

为您的 Go 工作空间创建一个新目录,这是 Go 将构建其文件的地方:

mkdir $HOME/work

然后,通过以下命令在此文件夹中创建目录层次结构,以便您创建测试文件。如果您计划使用 Git 提交和存储您的 Go 代码在 GitHub 上,可以将值 user 替换为您的 GitHub 用户名。如果您不打算使用 GitHub 存储和管理您的代码,您的文件夹结构可能会有所不同,比如 ~/my_project

mkdir -p work/src/github.com/user/hello

接下来,您可以创建一个简单的 “Hello World” Go 文件。

nano ~/work/src/github.com/user/hello/hello.go

在编辑器中,粘贴下面的代码,它使用主要的 Go 包,导入格式化 IO 内容组件,并设置一个新函数以在运行时打印 “Hello, World”。

package main
import "fmt"
func main() {
    fmt.Printf("hello, world\n")
}

如果此程序成功运行,将打印 “hello, world”,这将表明 Go 程序正在正确编译。保存并关闭文件,然后通过调用 Go 命令 install 来编译它:

go install github.com/user/hello

文件编译完成后,您可以通过简单执行以下命令来运行它:

hello

如果该命令返回 “hello, world”,则 Go 已成功安装并且可正常运行。您可以使用 which 命令查看编译后的 hello 二进制文件的安装位置:

which hello
/home/user/work/bin/hello

结论

通过下载并安装最新的 Go 软件包,并设置其路径,您现在拥有了一个用于 Go 开发的系统。您可以在我们的“Go”标签中找到并订阅有关安装和使用 Go 的其他文章。


目录
相关文章
|
10天前
|
Ubuntu 安全 iOS开发
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
66 5
|
2月前
|
Ubuntu Linux
任何Ubuntu用户都应安装的四大Linux应用程序
当然,这款程序不需要太多介绍。我们面对的是网上最庞大最完整的多媒体中心,由于丰富的插件,我们能够高度细化地定制其每一项功能。这是我们的Linux发行版不可或缺的必备软件。 我们可以通过运行以下命令来轻松安装Kodi:sudo apt install kodi。
|
2月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
2月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
12天前
|
NoSQL Ubuntu MongoDB
在Ubuntu 22.04上安装MongoDB 6.0的步骤
这些步骤应该可以在Ubuntu 22.04系统上安装MongoDB 6.0。安装过程中,如果遇到任何问题,可以查阅MongoDB的官方文档或者Ubuntu的相关帮助文档,这些资源通常提供了解决特定问题的详细指导。
97 18
|
20天前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
73 1
|
1月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
146 18
|
1月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
154 15
|
1月前
|
存储 Ubuntu iOS开发
在Ubuntu 22.04系统上安装libimobiledevice的步骤
为了获取更多功能或者解决可能出现问题,请参考官方文档或者社区提供支持。
107 14
|
1月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
311 7

热门文章

最新文章