Skip to content

golang 编程规范 - 项目目录结构

目录结构

项目的目录结构通常是项目的门面, 使用开人员很快的入手和项目一面了然.

Server

/api

/model

模型或数据的定义

/cmd

项目主要的是应用程序.

/internal

存放私有应用和库代码. 一些代码, 比较私密的, 不希望在其他应用和库中被导入, 可以将这部分代码放在 /internal 目录下.

/pkg

存放可以被外部应用使用的代码库和项目使用到的一些通用方法.

/router

存放项目的路由文件

/util

存放项目上中的工具

/service

项目中新的协程服务

/handler

product

/configs

存放配置文件模板默认配置.

/init

存放初始化系统和进程管理配置文件.

projcet

Makefile

Makefile 工具, 用来对项目进行管理.

/build

存放安装包和持续集成相关的文件.

/tools

存放项目的需要使用的工具.

doc

README.md

项目简介和使用文档

/docs

项目详细的文档

/logs

存放项目的 logs 日志文件

LICENSE

项目的版本

CHANGELOG

项目的版本更新日志

website

/web/website

前端代码存放目录, 主要用来存放 web 静态资源, 服务端模板和单页应用. 例如: React, vuejs, nuxtjs, nextjs ...