golang项目结构

一、概述

  golang更新了环境变量,导致整个goproject的结构改变:

 1 [root@node175 goproject]# tree -L 2
 2 .
 3 ├── bin
 4 │   └── demo
 5 ├── pkg
 6 │   └── linux_amd64
 7 └── src
 8     ├── demo
 9 
10 5 directories, 1 file
11 
12 项目源码在src下,可以包含多个project: demo1, demo2 等等
13 此时bin, pkg均为空目录;
14 cd src && go install  demo
15 #此时, 生成了demo项目的lib文件在如下目录中
16 [root@node175 src]# ll ../pkg/linux_amd64/demo/
17 总用量 4
18 -rw-r--r-- 1 root root 914 9月  26 11:45 lib.a
19 
20 # 此时, 生成了可执行文件在../bin目录下:
21 [root@node175 src]# ll ../bin/
22 总用量 1620
23 -rwxr-xr-x 1 root root 1654812 9月  26 11:55 demo

  为什么生成goproject是如此布局呢?

  答案在/etc/profile文件中的go env相关配置中;

1 export GOROOT=/root/xxx/go  
2 export GOPATH=/root/xxx/goproject3 export GOBIN=/root/xxx/goproject/bin 
4 export GOLIB=/root/xxx/goproject/
5 export PATH=$PATH:$GOBIN:$GOPATH/bin 
原文地址:https://www.cnblogs.com/chris-cp/p/7596075.html