go-GOPATH的问题

一、GOPATH

1、GOPATH是用于指定你的workspace 的环境变量,它内部目录一般为:

$HOME/go
  --bin  # 存放编译后的可执行文件
  --pkg  # 依赖包编译后的*.a文件
  --src  # 项目源代码的存放路径 

2、1.8 版本以后,GO默认给你设置一个$GOPATH=$HOME/go,可自定义。
3、我们可以指定不同的workspace(不同的开发项目):

export GOPATH=$HOME/goproj01:$HOME/goproj02

4、对于第三方依赖包,GO会默认安装在GOPATH环境变量的第一个workspacesrc里面,也就是:$HOME/goproj01
5、我们在项目中引入包的时候,默认先从$GOPATH/src中去找。

# 项目目录是:
$HOME/go
  --bin  
  --pkg 
  --src
    -- main
        -- pkg1
            -- say.go
        -- hello_world.go  


# hello_world.go
package main

import (
    V "main/pkg1" // 给包起一个别名
)
func main() {
  V.SayHello()
}

6、项目写完后,我们进入$GOPATH/src(main.go在这个目录下<也可以在更深一层的目录,视自己情况而定>),执行:

$ go install

此时会在 :

  • pkg 中生成所有的依赖包的编译文件:*.a
  • bin 中生成 main.go 的编译文件:main

7、配置 .gitignore 文件时,忽略 pkg、bin 目录

# .gitignore
pkg/*
bin/*
    原文作者:R_X
    原文地址: https://www.jianshu.com/p/3edd8639bc5f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞