go语言基础之工程管理和工做区介绍

一、工程管理工具

        在实际的开发工做中,直接调用编译器进行编译和连接的场景是少而又少,由于在工程中不会简单到只有一个源代码文件,且源文件之间会有相互的依赖关系。若是这样一个文件一个文件逐步编译,那不亚于一场灾难。 Go语言的设计者做为行业老将,天然不会忽略这一点。早期Go语言使用makefile做为临时方案,到了Go 1发布时引入了强大无比的Go命令行工具。ui

        Go命令行工具的革命性之处在于完全消除了工程文件的概念,彻底用目录结构和包名来推导工程结构和构建顺序。针对只有一个源文件的状况讨论工程管理看起来会比较多余,由于这能够直接用go run和go build搞定。下面咱们将用一个更接近现实的虚拟项目来展现Go语言的基本工程管理方法。命令行

 

二、工做区介绍设计

Go代码必须放在工做区中。工做区其实就是一个对应于特定工程的目录,它应包含3个子目录:src目录、pkg目录和bin目录。开发

  1.  src目录:用于以代码包的形式组织并保存Go源码文件。(好比:.go .c .h .s等)
  2.  pkg目录:用于存放经由go install命令构建安装后的代码包(包含Go库源码文件)的“.a”归档文件。
  3.  bin目录:与pkg目录相似,在经过go install命令完成安装后,保存由Go命令源码文件生成的可执行文件。

       目录src用于包含全部的源代码,是Go命令行工具一个强制的规则,而pkg和bin则无需手动建立,若是必要Go命令行工具在构建过程当中会自动建立这些目录。编译器

       须要特别注意的是,只有当环境变量GOPATH中只包含一个工做区的目录路径时,go install命令才会把命令源码安装到当前工做区的bin目录下。若环境变量GOPATH中包含多个工做区的目录路径,像这样执行go install命令就会失效,此时必须设置环境变量GOBIN。源码

相关文章
相关标签/搜索