如何在Ubuntu 18.04上安装Go

介绍

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 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏孟永辉

饿了么并入口碑,一场“非典型”新零售大战的开始

如果你了解互联网巨头的套路,你就会发现他们会不断用资本的力量去拓展自己的势力范围,并且建构一个能够将人们所有的生活场景全部都囊括其中的生态体系。饿了么并入口碑仅...

8110
来自专栏跟着阿笨一起玩NET

如何vs升级后10和12都能同时兼容

升级办法:先复制vs2008版本的解决方案文件。升级2012后,再将文件复制到目录里面即可。注意升级过程中产生的升级文件(UpgradeLog文件)不能删除!

7110
来自专栏孟永辉

共享单车落幕:上海凤凰诉ofo或在情理之中

共享单车浩浩荡荡的发展历程伴随着资本的退却而最终落幕。尽管共享单车市场上摩拜投身美团总算是有了一个好归宿,哈罗单车对于三四线的深度布局实现了逆袭,ofo依然在仗...

8310
来自专栏happyJared

1万步21天钉钉运动大神赛

  目前所在的企业,从入职开始到现在,内部沟通协作的主要软件也就是钉钉。三月初的时候,偶然在钉钉运动一栏中发现了这个活动,当时也没怎么犹豫,果断支付了2元契约金...

25510
来自专栏跟着阿笨一起玩NET

无法将类型“System.Collections.Generic.IEnumerable<EmailSystem.Model.TemplateInfo>”隐式转换为“System.Collection

38110
来自专栏孟永辉

锤子手机推“无限屏”新机:让我们为老罗的创新点赞

人们对于锤子手机的发布会的期待其实更多的是在看罗永浩的“单口相声”。无论锤子手机如何,观众依然能够在锤子手机发布会上过一回嘴瘾。罗永浩对于自己,对于友商,对于行...

12850
来自专栏孟永辉

或许,9月12日的苹果新品发布会依然会让人失望!

正如每一次的苹果邀请函都带给我们不一样的感受一样,今年9月12日的苹果发布会的邀请函依然让我们浮想联翩。这或许是苹果以往营销套路的延续——通过给人一个极具想象力...

10620
来自专栏孟永辉

恒大入主法拉第,FF91真的要来了吗?

自恒大入主法拉第之后,FF91落地的步伐似乎开始逐步加快。在许家印到法拉第公司考察之后,FF91在落地到中国的步伐更加快速。就在上周,恒大法拉第未来智能汽车集团...

7720
来自专栏pangguoming

申请高级项目经理

要评计算机系统集成项目经理必须先考软考的系统集成项管理工程师,如果想评计算机系统集成高级项目经理必须考软考的信息系统项目管理师。考试一年2次,每年的5月下旬和1...

66920
来自专栏加州阳光87°F

此处芯安是吾乡 ——Seal ring

版图生涯是一条工程师修炼技术与心境凝练的修行路。俗话说“工欲善其事必先利其器”,练就一套得心应手的手上功夫是必须要刷满的技能点,如同老木匠视如珍宝的工具箱。出征...

49130

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励