开发者社区> 紫葡萄0> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Linux下配置Golang开发环境

简介: 前几天无意间看到了微信推送的golang开发的消息,看到golang那么牛逼,突然心血来潮想学习一下go。工欲善其事必先利其器,想做go开发,必须先配置好go的开发环境(就像开发Java先安装配置jdk一样)。
+关注继续查看

前几天无意间看到了微信推送的golang开发的消息,看到golang那么牛逼,突然心血来潮想学习一下go。工欲善其事必先利其器,想做go开发,必须先配置好go的开发环境(就像开发Java先安装配置jdk一样)。在网上找了半天,一直没有找到满意的教程(看来golang在国内还是不火)遂自己摸索,踩了不少坑,特来记录一下,希望能帮助到别人,少走弯路。由于我把除了C/C++以外的开发都搬迁到Linux下了,所以就在Ubuntu下安装配置了golang。其实Windows下的安装也是大同小异了。

1 先去golang官网下载golang的安装包

golang的官网在国内访问比较慢,建议去国内的网站下载https://studygolang.com/dl 根据不同的平台选择对应的安装包

img_3c2fd704b6827601eeabd0e1ed701114.png
下载.png

Linux的下载上面的,Windows下载下面的

2 安装

Windows的双击然后选择目录安装就好了。Linux的用 sudo tar -C /usr/local/ -xzvf go1.10.2.linux-amd64.tar.gz命令解压到 /urs/local/ 目录。解压完成,下一步

3 配置环境变量

在这里想说句mmp,用网上的教程配置完,要不提示 程序go尚未安装,要不就 go install 命令无法使用,所以自己摸着石头过河,终于是过去了。话不多说,开始配置。
/etc/profile或者用户目录下的.profile文件中配置环境变量。
这两个的区别是在/etc/profile下配置对所有用户起作用,.profile中配置只对当前用户起作用。我在/etc/profile中配置的执行sudo vim /etc/profile命令,在文件的最后一行加入

 export GOROOT=/usr/local/go
 export GOPATH=/home/bruce/goProject 
 export GOBIN=$GOPATH/bin
 export PATH=$PATH:$GOROOT/bin
 export PATH=$PATH:$GOPATH/bin

不要急,一行一行解释

GOROOT设置golang的安装位置,我们解压到了/usr/local/目录,该目录下的go/文件夹一定是go的环境的根目录,就是打开go目录后别再有一个go/目录。

GOBIN目录是执行 go install 后生成可执行文件的目录

GOPATH是我们的工作目录,一般我们设置到用户目录下,这个要根据你电脑的实际情况去配置。在介绍一下go的工作目录结构。在我们设置的工作目录下有3个子目录

├── bin
├── pkg
└── src
  • bin文件夹存放go install命令生成的可执行文件,可以把$GOBIN路径加入到PATH环境变量里,这样就可以直接在终端里使用我们go开发生成的程序了。
  • pkg文件夹是存在go编译生成的文件。
  • src存放的是我们的go源代码,不同工程项目的代码以包名区分。

添加完成后保存退出,然后执行source /etc/profile或者注销重新登录一下。然后执行go version能看到版本信息说明环境已经搭建好了。

接下来写个demo来试试。到我们配置的工作目录中(使用go bulid在那个目录都可以,使用go install命令必须要在工作目录下)我的工作目录是home/bruce/goProject/src/test/新建 test.go 写几行代码

package main

import "fmt"
func main() {
    fmt.Println("Hello Golang")
}

然后执行go build one.go,该目录下会生成一个test*使用./test命令运行,输出Hello Golang说明成功
接下来试试go install test,然后在工作目录下的bin目录下会生成test*文件,到这整个golang的开发环境就配置好了。

最后再推荐几个IDE,最开发怎能少了IDE呢,首推Jetbrains家的产品,Jetbrains无论那种语言的IDE都很不错,尤其是Jetbrains家的IDE界面和快捷键相同,熟悉一个,全都会用,而且跨平台。golang开发可以使用Jetbrains goland这是Jetbrains专门为golang开发的IDE,也可以使用 IDEA+Go插件的形式,我就是用的IDEA+插件,感觉还不错。还有visual studio code+go插件 也挺好,vscode的优势是轻便。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
五种绕过 Linux 命令别名的方法
我们可以使用 alias 命令定义或显示 bash shell 别名。一旦创建了 Bash shell 别名,它们将优先于外部或内部命令。本文将展示如何暂时绕过 bash 别名,以便你可以运行实际的内部或外部命令。
893 0
一条命令完成Linux下批量杀死某应用程序相关的进程
一、背景 很多时候我们需要迅速杀死某运用程序相关的全部进程,但是又不能杀死某个与该应用程序的特定进程,怎么办呢?结合前一段时间学习的awk及grep,让我们来实践一下吧! 二、实际操作 目前我需要杀死sftp相关的进程,但是不能杀死与grep相关的进程,命令写法如下: kill -9 $(ps -.
1021 0
Linux sort命令案例详解
Linux sort命令案例详解 sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理   sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
1094 0
Linux系统下安装rz/sz命令及使用说明
1.软件安装1)编译安装root 账号登陆后,依次执行以下命令:cd /tmpwget http://www.
802 0
Linux vmstat命令实战详解
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。
721 0
Linux 服务器配置、运行、不用敲命令(新手必备!) - 宝塔全攻略建站一条龙
Linux 服务器配置、运行、不用敲命令 WordPress 建站攻略 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放...
3897 0
linux free命令下 cached占用很大
# 背景 使用free -h命令,展示如下:   # 解决方法 先执行sync命令,同步数据 然后执行 echo 1 > /proc/sys/vm/drop_caches echo 2 > /proc/sys/vm/drop_caches echo 3 > /proc/sys/v...
929 0
+关注
紫葡萄0
一名软件行业的小学生,热爱开源,热爱技术分享
文章
问答
文章排行榜
最热
最新
相关电子书
更多
阿里开发者手册-Golang专题
立即下载
Alibaba Cloud Linux 3 发布
立即下载
《3-Alibaba Dragonwell 在Alibaba Cloud Linux 3上的应用及优化》
立即下载