在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 的其他文章。


目录
打赏
0
1
1
0
40
分享
相关文章
|
10天前
|
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
62 20
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
185 15
|
5天前
|
Ubuntu下载ISO镜像的方法
步骤 1:访问Ubuntu官方网站 打开浏览器,输入Ubuntu的官方网址:https://cn.ubuntu.com/download/desktop 接着,点击“Ubuntu Desktop”或你需要的Ubuntu版本。
30 6
OS-Copilot-ubuntu镜像版本的具体测试使用(安装方式有单独注明)
作为一名个人开发者,我主要负责云资源的运维和管理。在使用OS Copilot的过程中,我遇到了一些配置问题,特别是在ECS实例中设置AccessKey时,但最终成功解决了。通过使用OS Copilot的-t/-f/管道功能,我大大提升了效率,减少了命令编写的工作量,特别是在搭建Java运行环境时效果显著。此外,| 功能帮助我快速理解文档,整体体验非常流畅,推荐给其他开发者使用。
41 6
ubuntu 22安装lua环境&&编译lua cjson模块
通过上述步骤,可以在 Ubuntu 22.04 系统上成功安装 Lua 环境,并使用 LuaRocks 或手动编译的方式安装 lua-cjson 模块。本文详细介绍了每一步的命令和操作,确保每一步都能顺利完成,适合需要在 Ubuntu 系统上配置 Lua 开发环境的开发者参考和使用。
212 13
debian或Ubuntu中开启ssh允许root远程ssh登录的方法
在Debian或Ubuntu系统中启用root用户的SSH远程登录需要编辑SSH配置文件、设置root密码并重启SSH服务。虽然这可以在某些情况下提供便利,但必须注意安全性,通过使用强密码、限制IP访问、使用SSH密钥认证等方法来保护服务器的安全。
737 5
Ubuntu24.04安装Librenms
此指南介绍了在Linux系统上安装和配置LibreNMS网络监控系统的步骤。主要内容包括:安装所需软件包、创建用户、克隆LibreNMS仓库、设置文件权限、安装PHP依赖、配置时区、设置MariaDB数据库、调整PHP-FPM与Nginx配置、配置SNMP及防火墙、启用命令补全、设置Cron任务和日志配置,最后通过网页完成安装。整个过程确保LibreNMS能稳定运行并提供有效的网络监控功能。
Ubuntu安装homebrew的完整教程
本文介绍了如何在没有公网的情况下安装 Homebrew。首先访问 Homebrew 官网,然后通过阿里云的镜像克隆安装脚本,并创建普通用户进行安装。接着修改 `install.sh` 文件指向国内镜像,执行安装命令。最后配置环境变量并更换 Homebrew 源为国内镜像,确保安装顺利。
770 50
Ubuntu22.04上Docker的安装
通过以上详细的安装步骤和命令,您可以在Ubuntu 22.04系统上顺利安装
1361 12
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等