golang项目结构

Posted 阳台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang项目结构相关的知识,希望对你有一定的参考价值。

一、概述

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

 1 [[email protected] 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 [[email protected] 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 [[email protected] 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 

 

以上是关于golang项目结构的主要内容,如果未能解决你的问题,请参考以下文章

代码片段 - Golang 实现简单的 Web 服务器

代码片段 - Golang 实现集合操作

Golang PrintfSprintf Fprintf 格式化

Golang内部构件,第1部分:主要概念和项目结构

Golang项目之结构体版学生管理系统

Golang入门到项目实战 golang结构体指针