# gozero-learn **Repository Path**: xdx_coder_dev/gozero-learn ## Basic Information - **Project Name**: gozero-learn - **Description**: 用于go-zero学习 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-19 - **Last Updated**: 2025-06-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 介绍 gozero-learn 是一个使用 Go 语言和 GoZero 框架构建的示例项目。该项目展示了如何使用 GoZero 创建 gRPC 和 HTTP 服务,以及如何实现用户认证相关的功能。 ### 软件架构 - `greet.proto`: 定义 gRPC 接口。 - `grpc-server`: 包含 gRPC 服务的实现。 - `greet.go`: 包含服务的主函数。 - `greet.pb.go` 和 `greet_grpc.pb.go`: gRPC 接口定义和服务桩代码。 - `internal/config`: 服务配置相关代码。 - `internal/logic`: 业务逻辑代码。 - `internal/server`: gRPC 服务实现。 - `grpc-client`: gRPC 客户端实现。 - `hello01`: HTTP 服务示例。 - `main.go`: 主服务启动文件。 - `internal`: 包含服务配置、处理程序、逻辑和类型定义。 - `user-api`: 用户认证 API 服务。 - `main.go`: 主服务启动文件。 - `internal/biz`: 业务逻辑和错误处理。 - `internal/db`: 数据库和 Redis 连接。 - `internal/handler`: HTTP 请求处理。 - `internal/logic`: 业务逻辑实现。 - `internal/model`: 数据库模型定义。 - `internal/svc`: 服务上下文。 - `internal/types`: 请求和响应类型定义。 ### 安装教程 1. 确保已安装 Go 环境。 2. 下载并安装 GoZero: `go get -u github.com/zeromicro/go-zero/...`. 3. 安装 gRPC 和 Protobuf 工具: `go install google.golang.org/protobuf/cmd/protoc-gen-go@latest` 和 `go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest`. 4. 根据服务需求安装其他依赖,如 MySQL 和 Redis。 5. 运行服务: `go run main.go`. ### 使用说明 - gRPC 服务: 启动 `grpc-server` 服务并运行 `grpc-client` 客户端。 - HTTP 服务: 修改 `hello01` 和 `user-api` 中的配置文件,启动服务并访问相应端口。 - 业务逻辑: 根据具体的 API 或 gRPC 接口调用相应的服务。 ### 参与贡献 - Fork 项目并创建新分支。 - 提交代码并创建 Pull Request。 - 报告和修复项目中的问题。 ### 特技 - 使用 GoZero 快速构建高性能微服务。 - 通过 Protobuf 实现高效 gRPC 通信。 - 使用 `httpx` 和 `rest` 创建灵活的 HTTP 服务。 - 通过 `sqlx` 和 `gRPC` 实现数据库操作和远程服务调用。 - 使用 `zap` 日志库和 `atomic` 提供的原子操作提升服务性能和可维护性。