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的优势是轻便。

目录
相关文章
|
11天前
|
安全 Ubuntu Java
Linux配置使用篇
Linux配置使用篇
|
23天前
|
存储 负载均衡 索引
linux7安装elasticsearch-7.4.0集群配置
linux7安装elasticsearch-7.4.0集群配置
109 0
|
28天前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
38 0
|
28天前
|
存储 Shell Linux
【Shell 命令集合 系统管理 】Linux 修改用户的属性和配置 usermod命令 使用指南
【Shell 命令集合 系统管理 】Linux 修改用户的属性和配置 usermod命令 使用指南
30 1
|
11天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
21天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
22天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
18 0
|
28天前
|
存储 Linux Shell
【Shell 命令集合 系统设置 】Linux 配置和管理时区 timeconfig命令 使用指南
【Shell 命令集合 系统设置 】Linux 配置和管理时区 timeconfig命令 使用指南
37 0
|
28天前
|
Linux Shell C语言
【Shell 命令集合 系统设置 】Linux 配置声音卡sndconfig命令 使用指南
【Shell 命令集合 系统设置 】Linux 配置声音卡sndconfig命令 使用指南
29 0
|
28天前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】Linux 配置鼠标设备的相关设置 mouseconfig命令 使用指南
【Shell 命令集合 系统设置 】Linux 配置鼠标设备的相关设置 mouseconfig命令 使用指南
34 0