如何在Ubuntu 18.04上安装Go
谢鸢发表于云计算教程系列订阅98
介绍
课程准备
第1步 - 安装Go
第2步 - 设置Go路径
第3步 - 测试您的安装
结论
介绍
Go是Google开发的一种现代编程语言。它在许多应用程序和许多公司中越来越受欢迎,并提供了一组强大的库。本教程将指导您下载并安装最新版本的Go(本文发布时的Go 1.10),以及构建一个简单的Hello World应用程序。

课程准备
本教程假定您可以访问Ubuntu 18.04系统,该系统使用具有Ubuntu 18.04的初始服务器设置中sudo所述权限的非root用户进行配置。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。

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

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

ssh sammy@your_server_ip
要安装Go,您需要从官方Go下载页面获取最新版本。在网站上,您可以找到当前二进制版本的tarball的URL以及SHA256 hash。

访问官方Go下载页面,找到当前二进制版本的tarball的URL,以及它的SHA256 hash。确保您当前处在主目录中,并使用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
go1.10.3.linux-amd64.tar.gz
fa1b0e45d3b647c252f51f5e1204aba049cde4af177ef9f2181f43004f901035 go1.10.3.linux-amd64.tar.gz
你会得到一个像上面输出中突出显示的hash。确保它与下载页面中的匹配。

接下来,用于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
注意:虽然/usr/local/go是官方推荐的位置,但有些用户可能更喜欢或需要不同的路径。

第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在GitHub上提交和存储Go代码,则可以使用GitHub用户名替换值user。如果您不打算使用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开发的系统。

更多Ubuntu教程请前往腾讯云+社区学习更多知识。

参考文献:《How To Install Go on Ubuntu 18.04》

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于 14 天前
UbuntuGo开发者实验室sshAR
举报
2
分享

扫描二维码

云计算教程系列
642 篇文章189 人订阅
订阅专栏
如何在Ubuntu 14.04上安装Dropbox Client作为服务
如何在CentOS 7上安装Dropbox客户端即服务
如何在Ubuntu 14.04上安装Nginx背后的话语
如何在CentOS 7上安装Graylog 1.x.
如何在Ubuntu 14.04上安装Graylog 1.x.
我来说两句

如何在Ubuntu 18.04上安装Go的更多相关文章

  1. 如何在Ubuntu 18.04上安装Pip

    一.简介: Pip是一个软件包管理系统,它简化了用Python编写的软件包(如Python包索引(PyPI)中的软件包)的安装和管理. 在Ubuntu 18.04上缺省没有安装Pip,但安装非常简单. ...

  2. 如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器(转)

    如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器 什么是Apache Web Server? Apache或Apache HTTP服务器是一个免费的开源Web服务器,由Apac ...

  3. 如何在Ubuntu 18.04上安装Apache Web服务器

    一. apt库安装 1.在终端输入更新检查命令,sudo apt-get update 2. 在更新完成后(如果不想检查更新,也可直接输入此步)输入:sudo apt-get install apac ...

  4. 如何在Ubuntu 18.04上安装和卸载TeamViewer

    卸载命令:sudo apt --purge remove teamviewer 安装:https://www.linuxidc.com/Linux/2018-05/152282.htm 如何在Ubun ...

  5. 如何在Ubuntu 18.04上安装Django

    Django是一个免费的开源高级Python Web框架,旨在帮助开发人员构建安全,可扩展和可维护的Web应用程序. 根据您的需要,有不同的方法来安装Django.它可以使用pip在系统范围内安装或在 ...

  6. 如何在Ubuntu 18.04上安装Nginx

    Nginx功能之强大,想必大家比我更清楚. 百度百科:Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔 ...

  7. 转载:如何在Ubuntu 18.04上使用UFW设置防火墙

    https://blog.csdn.net/u013068789/article/details/82051943 介绍 UFW或Uncomplicated Firewall是iptables一个接口 ...

  8. 在Ubuntu 18.04上安装OpenCV 4(C ++和Python)

    OpenCV于11月20日发布了OpenCV-3.4.4和OpenCV-4.0.0.这些版本中有很多错误修复和其他更改.发布重点如下: OpenCV现在是C ++ 11库,需要符合C ++ 11标准的 ...

  9. 如何在Ubuntu 18.04中安装VMware Workstation Player

    参考链接 如何在Ubuntu 18.04中安装VMware Workstation Player https://www.sysgeek.cn/ubuntu-18-04-install-vmware- ...

随机推荐

  1. CABasicAnimation使用总结

    CABasicAnimation使用总结 实例化 使用方法animationWithKeyPath:对 CABasicAnimation进行实例化,并指定Layer的属性作为关键路径进行注册. //围 ...

  2. 一个input输入内容监听联动的demo

    两个input,一个在其中一个输入,内容在另一个input中实时回显 代码如下 <!DOCTYPE html> <html> <head> <title> ...

  3. SQL语句group by 与order by 执行顺序引发的一场“内斗”

    直入主题!看看下面这SQL会不会报错?如果报错应该是什么错误! --说明:黑色字体都是列SELECT application_id, index_num, num, amount FROM `cred ...

  4. Storm相关笔记(包括Kafka和HBase)

    一.Apache Kafka 1.了解Kafka 1.1.Kafka是什么?有什么用? 是什么? 1) Apache Kafka 是一个消息队列(生产者消费者模式) 2) Apache Kafka 目 ...

  5. Sppring MVC核心应用-2

    一.Spring MVC框架中400状态码的请求错误:控制台BindException异常, 解决方法: 二.Sping 表单标签 三.数据校验 实现JSR 303验证步骤 四.REST风格 五.Sp ...

  6. linux 命令 sort

    Linux下的sort排序命令详解(一) 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. [zook ...

  7. HTML5 添加视频和音频(响应式视频)

    最初的 HTML5规范呼吁所有浏览器内置支持使用 Ogg格式① 直接播放视频或音频(无需插件).但是由于 HTML5工作组的内部争议,曾经作为基线标准的支持 Ogg(包括 Theoravideo 和 ...

  8. Linux 判断系统任务是否正在运行

    #!/bin/bash if ps -ef|grep "php index"|egrep -v grep >/dev/null then >& >> ...

  9. 如何通过审计安全事件日志检测密码喷洒(Password Spraying)攻击

    许多渗透测试人员和攻击者通常都会使用一种被称为“密码喷洒(Password Spraying)”的技术来进行测试和攻击.对密码进行喷洒式的攻击,这个叫法很形象,因为它属于自动化密码猜测的一种.这种针对 ...

  10. C语言不定型参数函数定义

    我们在C语言中定义一个函数,通常都是需要在函数原型中规定这个函数需要提供什么类型的参数以及需要提供多少个.也就是,你的参数必须明确.但是我们调用函数库中的printf和scanf函数会发现,它们似乎是 ...