多语言(Go 与 Rust)实现的极简 gzip 命令行工具集合,遵循 KISS 原则:简单、可维护、易分发,默认聚焦 Linux 使用场景。
- Go 版:
go/,可执行文件名为gzip-go,入口位于go/cmd/gzip-go/main.go。- 详细说明见
go/README.md
- 详细说明见
- Rust 版:
rust/,可执行文件名为rgzip,核心逻辑在rust/src/lib.rs。- 详细说明见
rust/README.md
- 详细说明见
./
├── go/
│ ├── cmd/gzip-go/main.go
│ ├── go.mod
│ ├── Makefile
│ ├── README.md
│ └── changelog/
├── rust/
│ ├── Cargo.toml
│ ├── README.md
│ ├── src/{main.rs, lib.rs}
│ └── changelog/
├── .gitignore
├── .gitattributes
├── .editorconfig
└── changelog/
- 构建 Go 版
cd go make build # 生成 go/bin/gzip-go # 或 go build -o bin/gzip-go ./cmd/gzip-go
- 构建 Rust 版
cd rust cargo build --release # 生成 target/release/rgzip
- 参见子项目文档:
go/README.md与rust/README.md。
- Rust 子项目当前声明:
MIT OR Apache-2.0。 - Go 子项目 README 提到
MIT(可调整)。 - 请确认仓库根级许可证偏好(
MIT、Apache-2.0、或双许可证MIT OR Apache-2.0),确认后将添加LICENSE文件并在各子项目中对齐。
- 欢迎 PR。请遵循:
- 保持 KISS 原则,尽量减少依赖与复杂度。
- 每次修改请在对应子项目的
changelog/或仓库根级changelog/新增记录。 - 统一代码风格:见
.editorconfig;换行符 LF,文本自动归一见.gitattributes。