上篇文章介绍了go语言开发环境的搭建,本文介绍一下go语言的工作区。在go语言的环境搭建过程中,需要了解3个环境变量:

1)GOROOT:go语言安装的根目录,上篇文章中:D:\Program Files\go

2)GOPATH:自己定义的工作空间

3)GOBIN:生成的可执行文件的路径

GOPATH是最复杂的一个环境变量。GOPATH是多个工作区的目录路径。这些路径存放go语言的源码文件、归档文件和编译后的可执行文件。要理解这个概念,就需要理解下面的3个知识:

1.源码组织方式

同java类似,go语言的安装也已代码包为单位,代码包可以有子包。在使用程序的实体之前,需要先导入程序的代码包。导入路径就是从src子目录到程序实际的存储目录。go语言的源码包一般放在GOPATH包含的某个工作区中src目录的某个子包中。

2.源码安装后的结果

安装后如果产生了归档文件,即.a文件(程序编译后生成的静态文件),会存放在pkg目录,如果产生了可执行文件,会存放在工作区的bin目录下。比如,一个目录结构如下:

src/a/b/c,执行go install src/a/b/c后,产生的归档文件为pkg/a/b/c.a。

所以在一个工作区中,src、pkg、bin三个目录是平级的。如下图:

3.go安装和构建

构建和安装代码包的时候都会执行编译、打包等操作,并且,这些操作生成的任何文件都会先被保存到某个临时的目录中。

1)构建命令: go build

如果构建库源码文件,结果文件只会存在于临时目录中。构建主要是为了检查和验证。如果构建命令源码文件,结果文件会被搬运到源码文件所在的目录中。

2)安装命令:go install

安装操作会先执行构建,然后还会进行链接操作,并且把结果文件搬运到指定目录。

如果安装的是库源码文件,结果文件会被搬运到它所在工作区的 pkg 目录下的某个子目录中。

如果安装的是命令源码文件,结果文件会被搬运到它所在工作区的 bin 目录中,或者环境变量GOBIN指向的目录中。

©著作权归作者所有:来自51CTO博客作者朱晋君的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. CF卡里面的文件名目录名或卷标语法不正确也打不开文件的寻回办法
  2. I/O模型和Java NIO源码分析
  3. 打造一款 刷Java 知识的小程序(二)
  4. Netty源码剖析与实战
  5. 杀软对抗:一个面向***工程师的杀软绕过思路分享(含实现代码)
  6. 容器 - Web服务示例(6)
  7. 【OCP最新题库解析(052)--题6】Which structure can span multip
  8. 【等待事件】System I/O类 等待事件(3.2)--control file parallel
  9. 【故障处理】DG环境主库丢失归档情况下数据文件的恢复(3)

随机推荐

  1. 关于使用大型数据库,我需要了解什么?
  2. 一种在t-SQL中选择两个日期之间的日期的
  3. MYSQL5.7---ONLY_FULL_GROUP_BY 异常处理
  4. 在sdCard创建数据库(打造自己的SQLiteOpen
  5. sqlserver获取当前id的前一条数据和后一
  6. mysql 将时间戳直接转换成日期时间
  7. MySQL内连接group_concat [重复]
  8. 大神求解,hibernate4.2.1的一个HelloWorld
  9. Web开发实战学习(涉及EL表达式,JSTL,数据库)
  10. 求VB.net2010做一个简单数据库系统具体操