Linux Debian9安装Go

2023-05-16

介绍

Go ,也称为golang ,是由Google开发的一种现代开源编程语言。 Go在许多应用程序中越来越受欢迎,它采用极简主义的开发方法,帮助您构建可靠,高效的软件。

本教程将指导您下载和安装Go,以及在Debian 9服务器上编译和执行基本的“Hello,World!”程序。

先决条件

要完成本教程,您需要访问Debian 9服务器和具有sudo权限的非root用户,如使用Debian 9进行初始服务器设置中所述。

第1步 - 下载Go

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

首先,安装curl这样你就可以获得最新的Go版本:
 

sudo apt install curl

Advanced Packaging Tool(apt)是Linux下的一款安装包管理工具,是一个客户/服务器系统。 

cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl。

 

接下来,访问官方Go下载页面 ,找到当前二进制版本的tarball的URL。 确保复制与64位体系结构兼容的最新版本的链接。

从您的主目录,使用curl检索tarball:

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

虽然tarball来自真正的来源,但最佳做法是验证从Internet下载的项目的真实性和完整性。 此验证方法证明文件在下载过程中既未被篡改也未被破坏或损坏。 sha256sum命令产生一个唯一的256位哈希:

sha256sum go1.12.5.linux-amd64.tar.gz
Outputgo1.12.5.linux-amd64.tar.gz
aea86e3c73495f205929cfebba0d63f1382c8ac59be081b6351681415f4063cf  go1.12.5.linux-amd64.tar.gz

将输出中的哈希值与Go下载页面上的校验和值进行比较。 如果它们匹配,则可以安全地断定下载是合法的。

下载Go并验证文件的完整性后,我们继续安装。

 

我们现在将使用tar来提取tarball。 x标志告诉tar提取, v告诉它我们想要详细输出,包括正在提取的文件列表, f告诉它我们将指定一个文件名:

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

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

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

注意:虽然/usr/local/go是官方推荐的位置,但有些用户可能更喜欢或需要不同的路径。

此时,使用Go将需要在命令行中指定其安装位置的完整路径。 为了使与Go的交互更加用户友好,我们将设置一些路径。

 

第2步 - 设置Go路径

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

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

vi ~/.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

在Go安装到位并设置必要的环境路径后,让我们通过编写一个简短的程序来确认我们的设置是否有效。

 

export用于声明一个环境变量:
export variable=value

该环境变量只在本进程和其子进程中可以访问。

如果是在系统级的配置文件中,如/etc/profile中export 一个变量,那么这个变量就会在整个系统运行期间都起作用。
如果在用户级~/.bash_profile之类的文件中,则每次启动shell都会去读这个文件,所以每次打开shell也是可以取到这个值的。
如果在某一次运行中,手动export一个变量,则只在这次shell的使用中,才能访问这个变量,或者在该shell启动的其他程序中,也是可以访问这个变量的,因为它们是这个shell的子进程。

linux的桌面程序,是不读取个人目录下的~/.bash_profile等配置文件的,因此这些export的变量对用户桌面程序是没有意义的。

你说的登录,指的是shell的生命周期。

 

Go 语言关键的参数就是GOPATH 和GOROOR

 

 

现在已经安装了Go并为您的服务器设置了路径,您可以确保Go按预期工作。

为Go工作区创建一个新目录,Go将构建其文件:

mkdir $HOME/work

然后,在此文件夹中创建目录层次结构,以便您可以创建测试文件。 我们将以my_project目录为例:

mkdir -p work/src/my_project/hello

接下来,您可以创建传统的“Hello World”Go文件:

nano ~/work/src/my_project/hello/hello.go

在编辑器中,将以下代码添加到文件中,该文件使用主Go包,导入格式化的IO内容组件,并设置一个新函数来打印“Hello,World!”。 运行时:

〜/工作/ src目录/ MY_PROJECT /你好/ hello.go

package main

import "fmt"

func main() {
    fmt.Printf("Hello, World!\n")
}

当它运行时,该程序将打印“Hello,World!”,表示Go程序正在正确编译。

保存并关闭该文件,然后通过调用Go命令install编译它:

go install my_project/hello

编译程序后,您可以通过执行以下命令来运行它:

hello

如果您看到以下输出,则Go已成功安装并正常运行:

OutputHello, World!

您可以使用which命令查看已安装编译的hello二进制文件的位置:

which hello
Output/home/sammy/work/bin/hello

“Hello,World!”程序确定您拥有Go开发环境。

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

Linux Debian9安装Go 的相关文章

随机推荐

  • 重参数化技巧:高斯分布采样

    1 高斯分布采样 我们现在得到了有样本X得到的分布X N mu sigma 2 xff0c 通过采样我们得到确定的隐变量向量 xff0c 从而作为解码器
  • 微擎系统安装流程

    虚拟主机安装微擎系统流程 推荐环境 linux 43 php5 6及以上 43 mysql5 6及以上 如果您购买的主机开通的是windows系统 请先更换成linux系统 如果是虚拟主机 在主机面板 php版本页面选择php7 0 从官网
  • 部署https后浏览器提示不安全,不出现绿色小锁?

    网站部署https后 浏览器提示不安全 不出现绿色小锁图标 访问网站后 按f12 浏览器提示 Mixed Content The page at 39 https www xxx com 39 39 was loaded over HTTP
  • linux系统变为只读出现提示Read-only file system的解决办法

    问题描述 linux系统变为只读 出现提示Read only file system 如图所示 问题原因 系统没有正常关机 导致虚拟磁盘出现文件系统错误 说明 此修复可能会导致个别文件及数据丢失 修复之前建议做好文件备份工作 解决方法 使用
  • 小程序接入微信视频号配置指南

    一 填写视频号品牌信息和视频号类目资质 xff08 需要在平台发布模式后再进行填写 xff09 如图 xff1a 二 如之前已是平台发布模式的 xff0c 还需要操作 更新授权 xff1b 如之前是自主发布的 xff0c 切换到平台发布模式
  • 微信小程序如何使用视频组件

    小程序中可以使用视频组件来播放自己想要展示的视频 xff0c 具体步骤如下 一 添加视频组件 1 点击 店铺 装修店铺 编辑 xff0c 进入小程序页面编辑 2 点击 组件库 视频 xff0c 页面会添加视频组件 xff0c 点击视频组件的
  • 小程序地理位置接口申请

    申请接口理由 xff1a wx chooseAddress 获取用户收货地址提交理由 xff1a 快速定位用户当前位置 xff0c 获取省市区等地址信息 xff0c 方便用户提交地址等信息 wx chooseLocation打开地图选择位置
  • 远程桌面时出现“身份验证错误,要求的函数不受支持”解决办法

    远程桌面时 出现身份验证错误 xff0c 要求的函数不受支持 的错误 xff0c 如图所示 xff1a 这是由于本地客户端或者服务器端一方更新了CVE 2018 0886 的 CredSSP 补丁 xff0c 而另外一方未安装更新的原因导致
  • macbook苹果电脑系统使用“终端”远程登录linux主机

    登录mac系统后 xff0c 依次打开顶部菜单 xff0c 前往 gt 应用程序 gt 实用工具 gt 终端 xff0c 如下图 xff1a 在打开的终端页面 xff0c 输入如下代码 xff1a ssh root 64 服务器IP地址 注
  • wdcp面板无法打开

    打开wdcp面板提示 34 无法连接mysql xff0c 请检查mysql是否已启动及用户密码是否设置正确 34 按http faq myhostadmin net faq listagent asp unid 61 417先ssh方式远
  • java主机禁止某些IP访问的方法

    JAVA主机用的是tomcat来处理数据 xff0c 所以不支持以前apche使用的 htacess方式 xff0c 一般有两种禁止方法可以选择 xff0c 一是在server xml文件里面禁止 xff0c 或者是修改程序代码 1 禁止I
  • 用K-Means和DBSCAN算法对西瓜数据集4.0进行聚类分析

    文章目录 数据集K MeansDBSCAN 用K Means和DBSCAN算法对西瓜数据集4 0进行聚类分析 数据集 density sugercontent span class token number 1 span span clas
  • FSS对象存储挂载到windows云服务器操作方法

    FSS对象存储可以挂载到云主机中用于存储视频 备份等不需要 经常读写的大文件 不适合存放数据库等对IO需求较高 经常读写的场景 1 远程登陆服务器 xff0c 打开控制面板 xff0c 然后点击 打开或关闭windows功能 windows
  • nohup: failed to run command java: No such file or directory解决

    程序里远程执行shell命令 xff08 nohup java jar xff09 的执行 xff0c 后台日志报错如下 xff1a nohup failed to run command 96 java 39 No such file o
  • 七大顶级编程学习网站

    1 B站 xff1a https www bilibili com 不要以为b站只有二次元和游戏 xff0c 很多高质量的 34 开源 34 教程应有尽有 xff0c 如果大家想学实践性较强的知识 xff0c 如java的juc xff0c
  • SpringBoot测试失败并报错: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration

    情况一 xff1a 该测试类在测试包test下的包名和类路径java下的包名不一致导致的 xff0c 修改包名一致即可 由于包名自动生成的缘故导致这两个包名不一致 xff0c 引发以下报错 java lang IllegalStateExc
  • bootstrap个人简历毕业作品模板

    简介 xff1a 一款bootstrap框架个人简历模板 xff0c 可以作为前端毕业作品模板 xff0c 模板非常简单 网盘下载地址 xff1a https zijieyunpan cn vOnXW43exgr 图片 xff1a
  • linux进阶20——GDB(六):查看变量命令(print和display)

    一段c语言程序 include lt stdio h gt int main int num result 61 0 i 61 0 scanf 34 d 34 amp num while i lt 61 num result 43 61 i
  • 开发常用的抓包工具

    前端开发常用的抓包工具 浏览器开发者工具 浏览器开发者工具就是开发中常用的F12 xff0c 或者点击右键 gt 检查 可以看到单个请求的时间 xff0c 并可过滤 筛选请求 vConsole vConsole是前端手机开发的调试利器 xf
  • Linux Debian9安装Go

    介绍 Go xff0c 也称为golang xff0c 是由Google开发的一种现代开源编程语言 Go在许多应用程序中越来越受欢迎 xff0c 它采用极简主义的开发方法 xff0c 帮助您构建可靠 xff0c 高效的软件 本教程将指导您下