如何在 CentOS 7 上安装 Go

2023-10-27

Go,通常称为 golang,是由 Google 创建的现代开源编程语言。许多流行的应用程序,包括 Kubernetes、Docker、Hugo 和 Caddy 都是用 Go 编写的。

在本教程中,我们将向您展示如何在 CentOS 7 系统上下载并安装 Go。

先决条件#

在继续本教程之前,请确保您以以下身份登录具有 sudo 权限的用户 .

如何安装Go#

在撰写本文时,Go 的最新稳定版本是 1.13 版本。下载 tarball 之前,请访问官方 Go下载页面并检查是否有新版本可用。

请按照以下步骤在 CentOS 7 上安装 Go:

  1. 下载压缩包。

    要下载 Go 二进制文件,请使用wget or curl :

    wget https://dl.google.com/go/go1.13.linux-amd64.tar.gz
  2. 验证 tarball。

    下载完成后,使用以下命令验证 tarball 校验和sha256sum命令:

    sha256sum go1.13.linux-amd64.tar.gz
    68a2297eb099d1a76097905a2ce334e3155004ec08cdea85f24527be3c48e856  go1.13.linux-amd64.tar.gz

    确保从上述命令打印的哈希值与下载页面中的哈希值相匹配。

  3. 提取压缩包。

    Use the tar命令将 tarball 解压到/usr/local目录:

    sudo tar -C /usr/local -xzf go1.13.linux-amd64.tar.gz
  4. 调整路径变量。

    现在我们需要通过调整来告诉我们的系统在哪里可以找到 Go 可执行二进制文件$PATH环境变量。

    我们可以通过将以下行附加到/etc/profile文件(用于系统范围的安装)或$HOME/.bash_profile文件(对于当前用户安装):

    〜/ .bash_profile
    export PATH=$PATH:/usr/local/go/bin

    保存文件,并使用以下命令将新的 PATH 环境变量加载到当前 shell 会话中:

    source ~/.bash_profile

测试安装#

为了测试 Go 是否安装正确,我们将设置一个工作区并构建一个简单的“Hello world”程序。

  1. 创建工作区目录

    默认情况下,工作区目录设置为$HOME/go,要创建它,请输入:

    mkdir ~/go
  2. 创建一个简单的“Hello World”Go 文件。

    在工作空间内创建一个新目录src/hello

    mkdir -p ~/go/src/hello

    并在该目录中创建一个名为的文件hello.go

    〜/go/src/hello/hello.go
    package main
    
    import "fmt"
    
    func main() {
        fmt.Printf("Hello, World\n")
    }

    您可以了解有关 Go 工作区目录层次结构的更多信息here

  3. 构建 hello.go 文件:

    要构建文件,switch to the ~/go/src/hello目录并运行go build:

    cd ~/go/src/hellogo build

    上面的命令将构建一个名为hello.

  4. 运行可执行文件:

    通过键入以下内容运行可执行文件:

    ./hello
    Hello, World

    如果你看到上面的输出,那么你已经成功安装了 Go。

结论#

现在您已经在 CentOS 系统上下载并安装了 Go,您可以开始开发 Go 项目了。

如果您遇到问题或有反馈,请在下面发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 CentOS 7 上安装 Go 的相关文章

  • 如何将 Unicode 字符转换为简单形式? [复制]

    这个问题在这里已经有答案了 有没有一个Go库可以Sj str m作为输入和返回Sjostrom作为输出 您可以使用golang org x text unicode norm来处理这个问题 package main import fmt i
  • 如何在golang中创建一个充满“000000...”数据的10MB文件?

    我打算在日志或磁盘队列等系统中使用 fdatasync 首先是在 ext4 等文件系统中创建一个带有 000000 的 10MB 文件 但我不知道如何正确地做到这一点 jnml fsc r630 src tmp SO 16797380 ls
  • os.Mkdir 和 os.MkdirAll 权限

    我正在尝试在程序开始时创建一个日志文件 我需要检查是否 log如果不创建目录 则目录存在 然后继续创建日志文件 好吧 我尝试使用os Mkdir 也os MkdirAll 但无论我在第二个参数中输入什么值 我都会得到一个没有权限的锁定文件夹
  • 如何关闭 gorm 1.20.0 中的数据库实例

    由于我没有在 Close 函数中找到 gorm 实例 任何帮助将不胜感激 dbURI fmt Sprintf user s password s dbname s port s sslmode s TimeZone s username p
  • 在 Gorilla Mux 中嵌套子路由器

    我一直在使用gorilla mux https github com gorilla mux满足我的路由需求 但我注意到一个问题 当我嵌套多个子路由器时它不起作用 这是示例 func main r mux NewRouter StrictS
  • 在 Go 中,如何将结构体转换为字节数组?

    我有一个我定义的结构实例 我想将其转换为字节数组 我尝试了 byte my struct 但这不起作用 另外 我还被指出二进制包 http golang org pkg encoding binary 但我不确定我应该使用哪个函数以及应该如
  • 如何修复“缺少表的 FROM 子句条目”错误

    我正在尝试根据游戏 ID 获取平台名称 我有如下三个表 我正在尝试加入它们以获得所需的结果 Games Id 1 2 3 4 Game Platforms Id game id platform id 1 1 1 2 1 2 3 3 3
  • 为什么 gmail API 以纯文本形式发送 html 电子邮件?

    我正在尝试使用 gmail API 发送 html 电子邮件 但由于某些原因 它会随机以纯文本 文本形式发送电子邮件 谷歌似乎改变了我设置的内容类型标头 这有什么理由吗 电子邮件内容始终完全相同 正如我测试的那样 API 仍处于实验阶段吗
  • 是否可以在 C/C++ 中模仿 Go 接口?

    在 Go 中 如果类型具有接口定义的所有方法 则可以将其分配给该接口变量 而无需显式继承它 是否可以在 C C 中模仿此功能 是的 您可以使用纯抽象类 并使用模板类来包装 实现 抽象类的类型 以便它们扩展抽象类 这是一个简单的示例 incl
  • 解压文件的简单方法

    有没有一种简单的方法可以用 Go 解压文件 现在我的代码是 func Unzip src dest string error r err zip OpenReader src if err nil return err defer r Cl
  • 套接字错误 10054

    我有一个C S程序 客户端使用socket向服务器发送文件 发送后大约超过700k数据 客户端 在win7上 将收到套接字10054错误 这意味着连接被对等方重置 服务器运行在CentOS 5 4上 客户端是在virtual box中运行的
  • 如何在 Go 中填写 void* C 指针?

    我正在尝试与 Go 中的一些 C 代码交互 使用 cgo 这一直相对简单 直到我遇到这种 相当常见 的情况 需要将指针传递给本身包含指向某些数据的指针的结构 我似乎无法弄清楚如何从 Go 中做到这一点 而不诉诸于将结构的创建放入 C 代码本
  • 如何以全屏模式连接Linux CentOS 7虚拟机? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在从 Windows 8 1 从 Hyper V 连接到 CentOS 7 VM 全屏模式不起作用 我需要解决这个问题 其他虚拟机包括
  • httplib.BadStatusLine: '' 在 Linux 上,但在 Mac 上则不然

    这个错误已经困扰我几个小时了 我决定编写一个单独的项目 只是为了看看我是否可以复制它 而且我可以 但只能在我的服务器上复制 这适用于我的 Mac Mac OSX El Capitan 10 11 6 服务器 CentOS 7 2 1511
  • 测试 gRPC 服务

    我想测试用 Go 编写的 gRPC 服务 我使用的示例是 Hello World 服务器示例grpc go 仓库 https github com grpc grpc go blob master examples helloworld g
  • 关于编写惯用的 Golang 的建议

    我正在掌握 Golang 的做事方式 首先是一些示例代码 package main import log os func logIt s string f os OpenFile errors log os O RDWR os O CREA
  • 为什么 DER ASN.1 大整数的解组在 Golang 中仅限于 SEQUENCE?

    我希望能够使用encoding asn1 包从 DER 文件中解组一个大整数 但它看起来只适用于整数序列 例如 这不起作用 这很奇怪 因为 Big Int 的编组效果很好 https play golang org p Wkj0jAA6bp
  • go json marshal 的默认大小写选项?

    我有以下结构要导出为 json type ExportedIncident struct Title string json title Host string json host Status string json status Dat
  • 如何通过在切片上查找来从切片复制到数组

    我正在编写一个库来处理二进制格式 我有一个带有数组变量的结构 我想保留它以用于文档目的 我还需要从输入字节片中查找和判断 一些伪代码 type foo struct boo 5 byte coo 3 byte func main input
  • golang中如何将相对路径解析为绝对路径?

    节点中是否有类似 path resolve 的API 或者有什么东西可以做同样的事情 例如 nodejs代码 path resolve sample sh 应该得到 home currentuser sample sh 解决 表示用户主目录

随机推荐

  • Magento 2 性能优化技巧

    随着科技的进步 人们的注意力持续时间在缩短 eBay 旗下的 Magento 是当今用于发展在线业务的最广泛使用的电子商务平台之一 虽然 在选择电子商务 CMS 或平台 例如 WooCommerce Shopify 等 时 您有很多选择 但
  • 如何使用 PHP 获取头像

    当您创建应用程序并希望在其个人资料图片上显示用户的图像时 这可能是您从 Gravatar 帐户获取用户图像的更好选择 我们可以从那里简单地使用他们的电子邮件地址获取图像
  • 如何使用 Wget 忽略 SSL 证书检查

    Wget 是一个免费且功能强大的实用程序 可通过 Cygwin 适用于大多数类 Unix 操作系统 包括 Linux Mac 和 Windows 它允许您使用各种协议 例如 HTTP HTTPS 和 FTP 从服务器检索文件和网页 但是 在
  • 将 Bash 脚本转换为二进制

    Bash shell 是类 Unix 操作系统的主要组成部分 以其脚本化能力而广为人知 然而 这些脚本通常存储为纯文本文件 因此很容易受到检查和更改 在某些情况下 您可能希望将这些 Bash 脚本转换为二进制格式 以提高安全性 效率和可移植
  • 如何在 Ubuntu 上使用 Apache 安装 Mod_Pagespeed

    网站速度缓慢是大多数软件工程师和系统管理员面临的主要问题 他们不断尝试通过各种方式优化速度 那么问题来了 如何提高网站速度呢 提高网站速度的最佳方法是什么 Google 为 Apache 用户提供了 mod pagespeed 模块 可通过
  • 如何在 Linux 中将 PDF 转换为图像

    在本文中 您将学习如何在 Linux 命令行界面中将 PDF 文件转换为图像 Pdftoppm 将可移植文档格式 PDF 文件转换为彩色图像文件 如 PNG JPG 等 Pdftoppm 读取 PDF 文件并为每一页创建一个 PPM 图像
  • 如何在 Ubuntu 18.04 上安装 MySQL 8.0

    MySQL 是最流行的关系数据库管理系统 假设互联网上运行的网站中有三分之一使用 MySQL MySQL 官方团队提供了 MySQL 8 的 Debian 软件包 以便在 Ubuntu 系统上安装 本教程将帮助您在 Ubuntu 18 04
  • 在 CentOS 5/6 和 RHEL 5/6 上安装 PostgreSQL 9.1

    PostgreSQL 是一个开源的对象关系型 高度可扩展 兼容 SQL 的数据库管理系统 本文将帮助您在 CentOS 5 6 和 RHEL 5 6 上安装 PostgreSQL 9 1 第1步 添加 PostgreSQL Yum 存储库
  • 如何使用 PowerShell 从 Windows 命令行发送电子邮件

    发送电子邮件是当今数字时代的一项基本任务 作为系统管理员 您可能需要从命令行发送电子邮件以自动执行此任务 在本文中 我们将向您展示如何使用 PowerShell 从 Windows 命令行发送电子邮件 从而简化您的电子邮件通信并提高您的工作
  • 如何在 Ubuntu 20.04 上安装 Elasticsearch

    Elasticsearch 是一个开源分布式全文搜索和分析引擎 它支持 RESTful 操作 允许您实时存储 搜索和分析大量数据 Elasticsearch 是最流行的搜索引擎之一 为具有复杂搜索要求的应用程序 例如大型电子商务商店和分析应
  • Bash while 循环

    循环是编程语言的基本概念之一 当您想要多次运行一系列命令直到满足特定条件时 循环会很方便 在 Bash 等脚本语言中 循环对于自动执行重复任务非常有用 Bash 脚本中有三种基本的循环结构 for loop while循环 并且直到循环 本
  • 在 Python 中解析 JSON 数据

    JSON 是一种人类可读的基于文本的数据格式 它与语言无关 用于应用程序之间的数据交换 在本文中 我们将解释如何在 Python 中解析 JSON 数据 Python JSON The json允许您对 JSON 数据进行编码和解码的模块是
  • 如何在 CentOS 7 上安装 Google Chrome 网络浏览器

    谷歌浏览器是世界上使用最广泛的网络浏览器 它是专为现代网络构建的快速 易于使用且安全的浏览器 Chrome 不是开源浏览器 也不包含在 CentOS 存储库中 它是基于Chromium 一个开源浏览器 可在EPEL 存储库 本教程介绍如何在
  • Bash 中断并继续

    循环允许您多次运行一个或多个命令 直到满足特定条件 但是 有时您可能需要更改循环流程并终止循环或仅终止当前迭代 在巴什中 break and continue语句允许您控制循环执行 Bash break陈述 The break语句终止当前循
  • 如何在 Ubuntu 18.04 上安装和使用 FFmpeg

    FFmpeg 是一个免费的开源命令行工具 用于对多媒体文件进行转码 它包含一组共享的音频和视频库 例如libavcodec libavformat和libavutil 使用 FFmpeg 您可以在各种视频和音频格式之间进行转换 设置采样率以
  • 如何在 Ubuntu 20.04 上安装 Webmin

    Webmin 是一个用于管理 Linux 服务器的开源 Web 控制面板 它允许您管理系统用户 组 磁盘配额以及安装和配置 Web ssh ftp 电子邮件和数据库服务器 With Webmin 您可以通过网络浏览器配置系统的几乎每个方面
  • Linux 中的 Wc 命令(统计行数、字数和字符数)

    在 Linux 和类 Unix 操作系统上 wc命令允许您计算每个给定文件或标准输入的行数 字数 字符数和字节数并打印结果 在本教程中 我们将向您展示如何使用wc通过简单实用的例子进行指挥 如何使用wc命令 语法为wc命令如下 wc OPT
  • 如何在 Ubuntu 20.04 上安装 Python 3.9

    Python 是世界上最流行的编程语言之一 它是一种多功能语言 用于构建各种应用程序 从简单的脚本到复杂的机器学习算法 凭借其简单易学的语法 Python 成为初学者和经验丰富的开发人员的热门选择 Python 3 9 是 Python 语
  • 如何修复 WordPress 白屏死机

    如果您有 WordPress 网站 则其中之一最常见的错误您可能会遇到白屏死机 WSOD 然而 经历它可能会很可怕 因为您可能想知道 WSOD 的根本原因 并且不知道下一步 WSOD 可能有多种可能的原因 确定它们并不容易 特别是如果您不熟
  • 如何在 CentOS 7 上安装 Go

    Go 通常称为 golang 是由 Google 创建的现代开源编程语言 许多流行的应用程序 包括 Kubernetes Docker Hugo 和 Caddy 都是用 Go 编写的 在本教程中 我们将向您展示如何在 CentOS 7 系统