Ubuntu24.04、22.04或20.04安装Golang方法教程

news2024/9/23 4:23:23

在Ubuntu Linux(例如  Ubuntu 24.04、22.04 或 20.04)上安装Go(Golang)是一个简单的过程。我们可以使用默认系统存储库使用本教程中给出的命令下载开源 Go 编程语言,轻松构建简单、可靠和高效的软件。

Go语言由Google设计,它结合了编译语言的速度和动态语言的易用性,使其成为从 Web 服务器到数据分析等各种应用的理想选择。Ubuntu  Linux 因其开源特性和强大的社区支持而在开发者社区中越来越受欢迎。因此,为什么不用它来开发 Go 应用程序呢……

安装 Golang有三种简单方法- 一种是使用默认系统存储库,另一种是使用PPA 存储库及其Tarball 文件。让我们看看如何使用它们。

注意:如果没有Ubuntu服务器,可以考虑雨云,1元即可试用,需要绑定微信,支持多种Linux发行版。

优惠注册地址:www.ecscoupon.com/rainyun

#第一种方法,使用系统默认存储库

使用 Apt 更新 Ubuntu Linux

由于我们即将使用系统存储库来安装 Go Lang,因此建议首先运行系统更新命令。它将重建 APT 的包索引缓存,并安装最新更新(如果有)。

sudo apt update 

使用 APT repo 安装 Go Lang

是的,虽然 GO Lang 可通过 Ubuntu 的默认存储库获得,但通过它获得的版本不是最新版本。因此,如果您正在寻找最新的 Go 版本,请使用第二种或第三种方法来安装它,而不是这种方法。

sudo apt install golang

#第二种方法,使用 PPA 存储库:

添加 Go PPA 存储库

为了使用默认的 Ubuntu 包管理器(即 APT)快速获取 Ubuntu 上最新的 Go 编程版本以及未来的更新,我们可以添加一个 PPA 存储库,以下命令:

sudo add-apt-repository ppa:longsleep/golang-backports

在 Ubuntu 24.04、22.04 或 20.04 上安装最新的 Go

添加存储库后,我们可以在 Ubuntu 系统上安装最新可用的 Go Lang 版本,无论是 Ubuntu 24.04、22.04 还是 20.04……安装命令与我们之前在第一种方法中使用的命令相同

sudo apt install golang

第三种方法,手动下载 Go Tarball 文件

下载 Go Tar 文件

那些不想在现有 Ubuntu系统上添加任何第三方 PPA 存储库的用户可以从 手动下载最新 Go Lang 版本的存档文件Go官方网站。访问链接并单击适用于 Linux发行版的文件。

提取Go文件

将下载的压缩文件解压到“/usr/local”,给定的命令将自动创建一个包含所有解压文件的“Go”目录。

首先切换到终端上保存下载文件的位置,然后运行给定的命令。

sudo tar -C /usr/local -xzf filename.tar.gz
在本文的例子中,下载的文件名是“ go1.22.0.linux-amd64.tar.gz ”,因此命令将是:
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
确保使用了正确的文件名才能成功执行该命令。

配置路径

我们刚刚将 Go 文件复制到了所需位置,但如果我们运行命令来使用它,系统不知道 Go 可执行文件在哪里。因此,我们需要手动切换到“ /usr/local/go/bin”目录,或者将其添加到我们的系统路径,以便系统可以识别它并允许我们从终端中的任何位置运行和使用 Go。

那么,让我们看看如何将其添加到我们的系统路径中:

echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee -a ~/.bashrc

重新加载 Shell 会话:

source ~/.bashrc

检查 Go 版本

要检查Ubuntu或任何其他操作系统上安装的 GoLang 版本,请执行给定的命令语法:

go version

编写一个 Go 程序来测试它

为了熟悉编程语言,让我们创建一个简单的 hello 程序来了解 Golang 的工作原理。

nano hello.go

添加以下行:

package main 
import "fmt" 
func main () {
fmt.Printf( "hello world\n" )
}
使用Ctrl+X、  Y保存文件 , 然后按 Enter 键。

解释package main 告诉 Go 编译器该文件应编译为可执行程序。而 import 告诉系统从 Go 库中导入 "fmt" 以使用 printf 函数。

编译程序:

go hello.go

编译完成后,同一目录下会出现一个可执行文件,执行后可以看到输出:

./hello

​ 为了进一步练习 ,你可以使用 Golang 在线编辑器或从文档中了解更多信息 。 ​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2034208.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LoadRunner内置参数介绍

参数菜单 我用的是2023版本,每个版本的位置不一样,通常差不多,2种方式进入参数菜单 菜单栏进入参数 点击设计 - 参数 - 参数列表 脚本右键进入参数 选中你要参数化的内容,右键:使用参数替换 - 参数列表 参数列表 …

day16:一文弄懂函数对象、函数嵌套和函数闭包的关系和应用

1.函数的对象 精髓&#xff1a;可以把函数当成变量去用 1.1 可以赋值 # func内存地址 def func():print(from func)ffunc print(f,func) f()输出&#xff1a; <function func at 0x0000017A4E24F7F0> <function func at 0x0000017A4E24F7F0> from func 1.2 可以…

PythonStudio 控件使用常用方式(十四)TCheckListBox

PythonStudio是一个极强的开发Python的IDE工具&#xff0c;它使用的是Delphi的控件&#xff0c;常用的内容是与Delphi一致的。但是相关文档并一定完整。现在我试试能否逐步把它的控件常用用法写一点点&#xff0c;也作为PythonStudio的参考。 从1.2.1版开始&#xff0c;Python…

视频融合项目中的平台抉择:6大关键要素助力精准选型

随着安防监控系统行业的快速发展&#xff0c;视频融合项目逐渐成为城市治理、企业管理及智能建筑等领域的重要组成部分。视频融合平台作为视频数据整合、管理和分析的核心&#xff0c;其选择直接影响到项目的成功与否。 在当前智慧业务类项目的集成过程中&#xff0c;我们不仅…

漂亮网站是门面,和你的豪车、奢侈品、秘书一样,该投就得投。

对于企业来说&#xff0c;一个漂亮的网站可以起到很好的门面作用。一个好的网站可以让客户更容易地找到你的产品和服务&#xff0c;提高品牌形象和知名度&#xff0c;增加业务成功几率。因此&#xff0c;对于企业来说&#xff0c;投资于一个漂亮的网站是非常必要的。 经常看到…

用Python实现9大回归算法详解——01线形回归算法

1. 线性回归的基本概念 线性回归是一种最基本的监督学习算法&#xff0c;用于预测因变量&#xff08;目标变量&#xff09;和一个或多个自变量&#xff08;特征变量&#xff09;之间的关系。线性回归假设因变量与自变量之间的关系是线性的&#xff0c;即可以用以下形式的线性方…

2024国赛Word论文模板【一键生成式操作】

一、比赛介绍 该竞赛创办于1992年&#xff0c;每年一届&#xff0c;是首批列入“高校学科竞赛排行榜”的19项竞赛之一。2023年&#xff0c;来自全国及美国、澳大利亚、马来西亚的1685所院校/校区、59611队(本科54158队、专科5453队)、近18万人报名参赛。 而今年的国赛马上就要…

《Unity3D网络游戏实战》正确收发数据流

TCP数据流 系统缓冲区 当收到对端数据时&#xff0c;操作系统会将数据存入到Socket的接收缓冲区中 操作系统层面上的缓冲区完全由操作系统操作&#xff0c;程序并不能直接操作它们&#xff0c;只能通过socket.Receive、socket.Send等方法来间接操作。当系统的接收缓冲区为空&…

C#去掉文件夹或文件名非法字符

实现有输入字符串创建文件夹的功能&#xff0c;需要检查字符串中是否包含不能在文件夹中使用的非法字符 。C#中如果需要生成文件路径&#xff0c;有时会抛出“文件路径中出现非法字符”的异常&#xff0c;这时我们就会找到这个非法的字符串&#xff0c;然后Replace替换掉。net类…

牛客JS题(四十)字体高亮

注释很详细&#xff0c;直接上代码 涉及知识点&#xff1a; 正则表达式逆向思路 题干&#xff1a; 我的答案 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /></head><body><input type"text&…

图形编辑器基于Paper.js教程14:使用 Paper.js 绘制数学图形与交互的实现,画布缩放保持大小的圆,正弦,余弦,螺旋线

技术分析&#xff1a;使用 Paper.js 绘制数学图形与交互的实现 在现代Web开发中&#xff0c;动态图形和交互式视觉表现已成为提升用户体验的重要手段。通过一个详细的示例&#xff0c;我们将探索如何使用 Paper.js 进行数学图形&#xff08;正弦曲线、余弦曲线和螺旋线&#x…

拯救打工人的4款可ai生成ppt神器大PK,谁是加班狗的最爱?

在忙碌的工作日常里&#xff0c;做PPT常常让不少上班族头疼。晚上加班时&#xff0c;办公室里总能看到那些为了做出完美PPT而熬夜的人。不过现在好了&#xff0c;科技进步带来了好消息&#xff0c;有几款AI生成PPT的神器出现了&#xff0c;今天&#xff0c;咱们就来比一比&…

网络编程----TCP/IP协议

使用TCP/IP协议实现客户端和服务器端进行通信: 1.服务器端(test1.c): #include <sys/socket.h> #include <sys/types.h> #include <arpa/inet.h> #include <stdio.h> #include <unistd.h>// 创建服务器端 int main() {//1.创建套接字int serfd…

锂电池剩余寿命预测 | Matlab基于Transformer-GRU的锂电池剩余寿命预测

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab基于Transformer-GRU的锂电池剩余寿命预测&#xff0c;Transformer结合门控循环单元。 Matlab基于Transformer-GRU的锂电池剩余寿命预测&#xff08;单变量&#xff09; 运行环境Matlab2023b及以上。 首先从…

API网关:SpringCloud GateWay

一. 网关的作用及背景 1.API网关的作用 请求路由 在我们的系统中由于同一个接口新老两套系统都在使用&#xff0c;我们需要根据请求上下文将请求路由到对应的接口。 统一鉴权 对于鉴权操作不涉及到业务逻辑&#xff0c;那么可以在网关层进行处理&#xff0c;不用下层到业务…

嵌入式开发--STM32的GPIO输入和输出复用

嵌入式开发–STM32的GPIO输入和输出复用 MCU的引脚数量非常有限&#xff0c;做项目时&#xff0c;经常是为了成本而选择引脚尽量少的芯片&#xff0c;这也给布线和编程带来更大的挑战。 最近一个项目&#xff0c;需要在某些时候通过拨码开关预置参数&#xff0c;预置完成后&am…

QT自定义系统快捷键任务

关键代码 //自定义快捷键检测 connect(this->ui->hotkeySequenceEdit_1, &QKeySequenceEdit::keySequenceChanged,this, &HotTestWidget::setShortcut_1);// 托盘显示 trayIcon new QSystemTrayIcon(this); QPixmap pixmap("tray.png"); QIcon icon(…

[Android] [解决]Bottom Navigation Views Activity工程带来的fragment顶部空白间距问题

用Android Stuio创建一个Bottom Navigation Views Activity工程&#xff0c; 我们刻意设置一下fragment背景为黑色&#xff0c;会发现&#xff0c;这个fragment离顶部还有一段不小空白距离&#xff0c; 怎么解决呢&#xff1f; 在activity_main.xml里面&#xff0c;删掉这句&a…

2024年【中级消防设施操作员(考前冲刺)】找解析及中级消防设施操作员(考前冲刺)试题及解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 中级消防设施操作员&#xff08;考前冲刺&#xff09;找解析考前必练&#xff01;安全生产模拟考试一点通每个月更新中级消防设施操作员&#xff08;考前冲刺&#xff09;试题及解析题目及答案&#xff01;多做几遍&a…