» Go创建命令行程序grep » 2. 开发 » 2.1 目录结构

目录结构

lr_gorpep/
|
├── LICENSE     # 许可信息
├── README.md   # 项目文档
├── go.mod
├── go.sum
├── internal/   # 内部包
├── main.go     # 程序主入口
├── internal
└── pkg/        # 包含主要逻辑的包
    └── grep/
        └── search.go

各个文件夹/文件的解释:

  • pkg/: 该目录包含你的应用程序所使用的包(库)。

  • internal/: 该目录用于存放项目内部专用的包,不应被外部项目使用。它有助于封装特定于该项目的功能。

  • go.mod and go.sum: 这俩文件用于Go模块声明和依赖管理1

  • README.md: 项目的文档。应包含安装、配置和使用 CLI 应用程序相关的信息。

  • LICENSE:2 包含一个许可文件,指定软件分发的条款。

  • main.go: 这是用户从命令行运行与你的工具交互的入口点。它应处理命令行参数并调用 grep/ 包相关功能。

这种结构有助于很好地分离关注点,使得将来扩展项目变得容易。将来程序逻辑变得更复杂的时候,可进一步细分 grep/ 包中内容。

Footnotes

  1. Go中的go.mod和go.sum是什么?

  2. 开源许可