## 代码格式化工具：`mfmt`

### 概述

`mfmt` 是一个高效的代码格式化工具，旨在帮助开发者按照既定规则格式化 Go 语言代码。它特别关注于 import 语句的分组排序和代码风格的统一。

### 功能特点

1. **Import 语句分组排序**：
   - **标准库**：自动将属于 Go 标准库的包归为一组。
   - **本地模块**：将当前模块名（从 `go.mod` 文件中的 `module` 声明获取）为前缀的包归为一组。
   - **第三方包**：将不属于上述两类的包归为一组。

2. **文件和目录跳过规则**：
   - 忽略以点（`.`）开头的文件或目录。
   - 忽略非 `.go` 后缀的文件。
   - 忽略 `vendor` 目录。
   - 忽略文件名以 `.pb.go` 或 `gen.go` 结尾的文件。

3. **代码格式化**：
   - 使用 `format.Source` 对文件内容进行格式化，确保代码符合 Go 的格式标准。

### 应用场景

- **代码质量检查**：自动检查代码格式，提升代码质量。
- **项目规范管理**：自动化项目代码规范，减少人工干预。
- **团队协作**：在团队中保持代码风格的一致性，特别是在 import 组织和注释规范化方面。

### 使用方法

在项目的根目录下执行以下命令：

```shell
# 在项目根目录下运行
go run mfmt/main.go
```

这将对项目中的 Go 代码文件进行格式化，按照上述规则重新组织 import 语句，并确保代码风格统一。