oynix

于无声处听惊雷,于无色处见繁花

Golang 项目结构

好久没写 golang 的项目了,前两天接个临时需求,需求不难,但要求必须用golang来写。一时间竟然忘了如何开始,从哪入手了,故在此做个记录,以备不时之需。

  • 环境: MacOS
  • IDE:GoLand
  1. 项目路径
    为了便于管理和引用其他 package,一般放在 /{GOPATH}/src 下。在该目录下,创建一个公司域名的文件夹,在此文件夹下创建项目命名的文件夹,如/{GOPATH}/src/domain.com/project_name/

  2. 项目结构

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    project_name/
    |__bin/
    |__build/
    |__config/
    |__cmd/
    | |__service_1/
    | |__service_1.go
    | |__service_2/
    | |__service_2.go
    |__docs/
    |__Godep/
    |__pkg/
    | |__lib/
    | |__...
    | |__...
    |__resource/
    |__vendor/
  • bin/:编译后的二进制文件
  • build/:编译、构建脚本文件
  • config/:配置文件,json/yaml等
  • cmd/:所有服务
  • cmd/service_1/:某个具体的服务
  • cmd/service_1/service_1.go:服务入口
  • docs/:文档
  • Godep/:godep 自动生成的目录
  • pkg/:主要代码
  • resource/:资源
  • vendor/:godep 自动生成的目录
  1. godep
    包依赖管理工具,使每个项目的依赖的版本相互独立。在项目根目录下执行godep save ./cmd,自动生成 Godep 和 vendor。

大致,就这些。

------------- (完) -------------
  • 本文作者: oynix
  • 本文链接: https://oynix.com/2019/08/658f0518c9c5/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

欢迎关注我的其它发布渠道