工作区和GOPATH

首先我们一个问题来引出这篇文章的内容

一、设置GOPATH的意义在哪?

GO语言中有三个环境变量:

可以通过这个命令进行查看
go env

GOROOT:Go语言安装的根目录
GOPATH:工作区,我们自已定义的工作文件夹
GOBIN:Go程序生成可执行文件的路径

可以把GOPATH简单理解成Go语言的工作目录,它的值就是一个目录的路径或多个目录的路径,每个目录都代表这一个工作区, 这些工作区存放着Go语言源码文件,以及安装后的归档文件和可执行文件。

二、Go语言源码组织的方式

Go语言组织源码的方式是以包为基本单位的

代码包的名称一般与源码文件所在的目录同名,如果不同名,那么在构建,安装代码包的过程中会以代码包名称为标准。

导入其它的代码包

import "github.com/labstack/echo"

三、源码安装后的结果

源码文件通常会放在某个工作区的src的子目录下

安装之后如果产生了归档文件,也就是.a为扩展名的文件,就会放进该工作区的pkg的子目录

如果产生产生了可执行文件,就可能会放在工作区的bin子目录

在这里插入图片描述

现在说一下归档文件

现在有一个已经存在的代码包

github.com/labstack/echo

执行命令

go install github.com/labstack/echo

生成的归档文件目录就是

github.com/labstack/echo

上面这个目录还有另一层意思,那就是该代码包的源代码文件存放于github网站的labstack组的代码仓库echo

归档目录和pkg之间还有一层目录,叫做平台相关目录,平台相关目录的名称是由build的目标操作系统,下滑线和目标计算机架构的代号组成

假如现在构建某个代码包时候的目标操作系统是linux

因此上述代码就放在

pkg/linux_amd64/github.com/labstack

四、理解构建和安装Go程序的过程

说说构建和安装Go程序的过程是怎样的,以及它们的异同点

  • 构建使用命令go build
  • 安装使用命令go install

构建和安装都会执行编译和打包操作

构建

  1. 如果构建的是库源码文件,那么操作后产生的结果文件只会存在于临时目录中
  2. 如果构建的是命令源码文件,那么操作的结果文件会搬运到源码文件所在的目录中
    安装操作会先执行构建,然后还会进行链接操作,并且把结果文件搬运到指定目录。

安装

  1. 进一步说,如果安装的是库源码文件,那么结果文件会被搬运到它所在工作区的 pkg 目录
    下的某个子目录中。
  2. 如果安装的是命令源码文件,那么结果文件会被搬运到它所在工作区的 bin 目录中,或者
    环境变量GOBIN指向的目录中。

这里你需要记住的是,构建和安装的不同之处,以及执行相应命令后得到的结果文件都会出
现在哪里。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值