Linux环境下搭建go开发环境

摘要:
选择/etc/profile添加PATH变量的配置信息。当$echo$PATH|grepgo看到PATH变量的输出包含路径/usr/local/go/bin时,表示PATH变量已成功设置。目录必须包括src、pkg和bin。使用Go的编译命令工具,您可以将编译的源代码或包的二进制输出存储在bin和pkg目录中。
一、环境介绍

Linux环境:阿里云,Linux镜像是centos8.2 64位

本机电脑:是win10操作系统

二、Linux下golang环境搭建

首先通过Xshell6连接上阿里云Linux操作系统

Linux环境下搭建go开发环境第1张

  

下载go语言开发环境,地址是https://golang.google.cn/dl/,可以根据自己的情况选择相应的版本,我选择的是go1.15.5.linux-amd64.tar.gz。下载命令如下:直接下载到/usr/local目录下。

wget https://golang.google.cn/dl/go1.15.5.linux-amd64.tar.gz

Linux环境下搭建go开发环境第2张

下载完成后检查一下完整性:

sha256sum go1.15.5.linux-amd64.tar.gz

Linux环境下搭建go开发环境第3张

 我们使用命令ll检查下是否存在该压缩包,可以看到已经下载成功了:

Linux环境下搭建go开发环境第4张

接下来解压该文件到当前目录:

 tar -C /usr/local -xzf go1.15.5.linux-amd64.tar.gz

Linux环境下搭建go开发环境第5张

如上图,解压成功,然后配置环境变量,可以在不同的位置添加环境变量,比如 /etc/profile 或 $HOME/.profile 等。不同之处是 /etc/profile 中的配置是共享给主机上的所有用户的,而 $HOME/.profile 中的配置只对当前用户起作用。选择在 /etc/profile 中添加 PATH 变量的配置信息,具体操作如下:

先打开/etc/profile文件:

sudo vim /etc/profile

在最后加入下面这句话:

export PATH=$PATH:/usr/local/go/bin

Linux环境下搭建go开发环境第6张

 然后:wq!保存退出即可。保存该文本并退出登录,然后重新登录一次系统。执行下面的命令查看 PATH 变量的内容:

$ echo $PATH | grep go

Linux环境下搭建go开发环境第7张

看到 PATH 变量的输出中包含 /usr/local/go/bin 路径就说明 PATH 变量已经设置成功。也就是说,无论当前路径在哪里都可以直接执行 go 命令了,比如查看go的基本信息:

Linux环境下搭建go开发环境第8张

 到这里我们已经完成了 go 语言开发环境的安装。下面我们来运行一个 hello world 程序。

三、"Hello world"小试牛刀

在 go 语言的开发环境中有工作区(workspace)的概念,你必须设置一个工作区,然后按照约定的目录等规则进行开发工作。如果我们没有设置工作区,go 语言的开发环境会认为我们在使用默认的工作区,即 $HOME/go 目录。当然你可以自己动手通过 GOPATH 环境变量设置一个更符合你个人习惯的目录作为工作区。

Go语言的工作空间其实就是一个文件目录,目录中必须包含src、pkg、bin三个目录。其中src目录用于存放Go源代码,pkg目录用于package对象,bin目录用于存放可执行对象。使用Go的编译命令工具可以将源代码或package编译后的二进制输出对应存储到bin和pkg目录中。src目录中的源代码根据package名分类到对应的子目录中,并且可以使用各种版本控制工具。举个例子,Go的工作空间目录结构大致如下:(待补充)

1、建立工作空间

在/home目录下新建go目录(文件名随意),然后在go目录下分别新建三个目录:

  • src ---- 里面每一个子目录,就是一个包。包内是Go的源码文件
  • pkg ---- 编译后生成的,包的目标文件
  • bin ---- 生成的可执行文件。
mkdir -p /home/goproject/src
mkdir -p /home/goproject/pkg
mkdir -p /home/goproject/bin

  

Linux环境下搭建go开发环境第9张

 2、设置GOPATH环境变量

GOPATH是go语言中跟工作空间相关的环境变量,这个变量指定go语言的工作空间位置。当你建立工作空间目录后,你需要把工作空间目录的路径添加的GOPATH环境变量中。GOPATH环境变量支持多个值,如果你有多个工作空间,可以把多个工作空间值都添加到这个环境变量中,window系统使用分号";"分隔不同值,Linux或Unix系统使用冒号”:“分隔不同值。

$ export GOPATH=你的工作空间路径

需要注意的是,GOPATH环境变量的值不能与安装的go目录相同。go目录中同样有src、pkg、bin等类似工作空间的目录结构,不过其中包含的是go的标准模块,最好不要讲自己的工作空间和go目录混合,对于以后升级go版本也比较容易。具体含义如下:

#GOPATH:设置go的工作区
export GOPATH=/home/goproject

Linux环境下搭建go开发环境第10张

 保存后,执行以下命令,使环境变量立即生效:

source /etc/profile

 3、创建“Hello world”

在~/goproject/src下建立一个文件夹为hello,在这个文件夹内新建一个文件hello.go

mkdir hello
touch hello.go

Linux环境下搭建go开发环境第11张

 hello.go文件内容如下:

package main 
import "fmt" 
func main(){
    fmt.Printf("hello world!
")
}  

保存后执行下面的构建命令:

go build

会在当前目录生成一个名为 hello 的可以执行文件:

Linux环境下搭建go开发环境第12张

 执行hello可执行文件:

./hello

Linux环境下搭建go开发环境第13张

 输出的 "hello, world" 字符串证明我们安装的 go 开发环境是能够正常工作的!如果我们把 go build 命令换成 go install 命令呢?试试看:

go install

执行后当前目录中的 hello 可执行文件消失了,原来它被安装到了 /home/goproject/bin 目录下:

 Linux环境下搭建go开发环境第14张

 原来 go install 命令的作用就是在编译完成后把程序安装到工作区中的 bin 目录下

四、安装 GoLand IDE

使用IDE的前提是Linux系统有图形界面,请参考阿里云linux如何设置图形界面

从 jetbrains 官网下载最新的 GoLand 安装包,同样选择 Linux 版本,下载的版本为 goland-2020.2.3.tar.gz。

wget https://download.jetbrains.8686c.com/go/goland-2020.2.3.tar.gz?_ga=2.111684353.420032320.1606703389-491346507.1606703389

Linux环境下搭建go开发环境第15张

 下载完成后检查一下完整性(从上图可以看到,我下载包名称是goland-2020.2.3.tar.gz?_ga=2.111684353.420032320.1606703389-491346507.1606703389.1,重复下载了,所以最后有个.1)

sha256sum goland-2020.2.3.tar.gz?_ga=2.111684353.420032320.1606703389-491346507.1606703389.1

Linux环境下搭建go开发环境第16张

 然后解压缩安装包,按照 GoLand 官方文档的建议,把安装包解压缩到 /opt 目录:

tar -C /opt -xf goland-2020.2.3.tar.gz?_ga=2.111684353.420032320.1606703389-491346507.1606703389.1

执行安装脚本,进入解压缩的目录下的 bin 目录中,然后执行 goland.sh 脚本:

./goland.sh 

这里提示错误:Startup Error: Unable to detect graphics environment

Linux环境下搭建go开发环境第17张

具体原因是:xshell软件不支持图形显示

解决方法如下:

直接在linux上去操作,而不是通过SSH(如Xshel)

按照提示默认安装,安装成功后,

Linux环境下搭建go开发环境第18张

免责声明:文章转载自《Linux环境下搭建go开发环境》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ModelSim SE 6.5破解几种实现代码重用的方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

目录的文件查看和修改

在Linux系统中文件的权限可以在文件上单击右键—>属性来查看。   但是我们这次用的是全命令来查看和修改文件的权限   为了举一个实例,我们在mnt文件夹中建立一个fileA文件,然后在fileA文件夹中建立一个zhaoyuqiang.html网页。   建好之,我们就以fileA文件和zhaoyuqiang.html文件来说事,呵呵 查看文件的...

weex-iOS集成

weex-iOS集成 weex只是刚刚起步,还存在一些bug,有些功能还有待完善和提高.但是其使用起来还是可以节省些时间. 这里我们说说如何把weex集成到我们的iOS项目中 1. 下载weex源代码 git clone https://github.com/alibaba/weex.git 2. 把根目录下的/ios/sdk整个目录拷贝到项目中...

git查看某个文件的修改历史

<转自 http://www.cnblogs.com/flyme/archive/2011/11/28/2265899.html> 有时候在比对代码时,看到某些改动,但不清楚这个改动的作者和原因,也不知道对应的BUG号,也就是说无从查到这些改动的具体原因了~ 【注】:某个文件的改动是有限次的,而且每次代码修改的提交都会有commit描述,我们可...

Delphi断点调试-初级

所谓断点,就是在程序代码的某一行上设置一个标记,程序执行到这里将暂停,由调 试器接管对程序的控制。使用断点与使用【Runto Cursor】命令有些相似,都是执行到某 一行后暂停。不同的是,程序中可以设置多个断点并且能够给断点设置条件。   断点通常设置在有疑点的区域。在遇到断点之前,程序以全速运行。遇到断点之后,程序暂时停止运行,以后就可以单步或跟踪执行...

CentOS7安装python3.8.5

一、安装依赖包 yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel yum install gcc gcc-c++ openssl-devel libffi-dev...

zabbix 安装部署

环境检查 cat /etc/redhat-release   # 查看系统发行版本 uname -r                       # 查看内核版本 getenforce                     #查看安全机制 systemctl status firewalld  # 查看防火墙 环境配置 版本 IP地址 主机名...