欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

GOPATH

程序员文章站 2022-06-21 11:22:29
工作目录就是我们用来存放开发的源代码的地方,对应的就是Go里的GOPATH这个环境变量。这个环境变量指定之后,我们编译源代码等生成的文件都会放到这个目录下。 ......

目录

gopath

工作目录就是我们用来存放开发的源代码的地方,对应的就是go里的gopath这个环境变量。这个环境变量指定之后,我们编译源代码等生成的文件都会放到这个目录下,gopath环境变量的配置参考,配置到/etc/profile或者windows下的系统变量里。

前面我们在安装go的时候看到需要设置gopath变量,go从1.1版本到1.7必须设置这个变量,而且不能和go的安装目录一样,这个目录用来存放go源码,也就是go的工作空间(workspace,gopath环境变量指向的目录),go的可运行文件,以及相应的编译之后的包文件。所以这个目录下面有三个子目录:src、bin、pkg。从go 1.8开始,gopath环境变量现在有一个默认值,如果它没有被设置。 它在unix上默认为$home/go,在windows上默认为%userprofile%/go。

这里对go工作空间包含的三个目录作一个说明

  • src :里面的每个子目录都是一个包。包内是go的源码文件
  • pkg :编译后生成的,包的目标文件
  • bin :编译后生成的可执行文件

gopath允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候windows是分号,linux系统是冒号,当有多个gopath时,默认会将go get的内容放在第一个目录下。

代码目录结构规划

gopath下的src目录就是接下来开发程序的主要目录,所有的源码都是放在这个目录下面,那么一般我们的做法就是一个目录一个项目。

project1 // (project1添加到gopath目录了)
  -- bin
  -- pkg
  -- src  
     -- models       // package
     -- controllers  // package
     -- main.go      // package main[注意,本文所有main.go均指包main的入口函数main所在文件]
project2 // (project2添加到gopath目录了)
   -- bin
   -- pkg
   -- src
      -- models       // package
      -- controllers  // package
      -- main.go      // package main

使用go build可以在src文件夹下编译生成名为“src”的可执行文件。这是golang默认约定。一般我个人不怎么用这个命令。因为它会生成可执行文件在src目录下面。

我一般用:go get 和 go install。