# go_study **Repository Path**: deepinthinking/go_study ## Basic Information - **Project Name**: go_study - **Description**: This is a project dedicated to learning and practicing the Go (Golang) programming language. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-10-23 - **Last Updated**: 2025-10-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Go Study 项目说明 本项目为Go语言学习示例集合,包含了Go语言基础语法与功能实现的代码示例。适用于熟悉Go语言语法及学习如何实现简单功能的开发者。 ## 目录结构说明 1. `1.hello_world` - 最基础的Go程序,展示如何输出"Hello, World!"。 2. `2.hello_module` - 使用Go模块的"Hello, World!"示例。 3. `3.init` - 展示Go中变量与常量初始化,以及`init`函数的使用。 - `pkg1`, `pkg2`, `pkg3` - 示例包,用于展示初始化逻辑。 4. `4.http_server` - 构建一个简单的HTTP服务器。 5. `5.bookstore` - 实现一个图书存储服务,支持常见的CRUD操作。 - `internal/store/memstore.go` - 使用内存存储图书数据。 - `server/middleware/middleware.go` - HTTP请求中间件,包含日志与验证功能。 - `server/server.go` - HTTP服务的主逻辑。 - `store/factory/factory.go` - 存储接口的工厂模式实现。 - `store/store.go` - 定义图书结构与存储接口。 6. `6.simple_type` - 展示基本数据类型的使用。 7. `7.reference_type` - 展示引用类型,如数组、切片、Map及结构体的使用。 ## 安装与运行 ### 环境要求 - 安装Go 1.16及以上版本 - 操作系统: 支持Windows, Linux, macOS ### 运行示例 进入对应目录后,运行以下命令: ```bash go run main.go ``` 对于`5.bookstore`项目,可能还需要先构建模块: ```bash go mod tidy go run cmd/bookstore/main.go ``` ## 使用示例 - `1.hello_world` - 直接运行输出"Hello, World!"。 - `2.hello_module` - 展示模块调用与输出。 - `3.init` - 通过初始化函数设置默认值并展示变量初始化流程。 - `4.http_server` - 启动HTTP服务器并监听默认端口。 - `5.bookstore` - 提供图书管理的API服务,支持创建、更新、删除和查询图书信息。 - `6.simple_type` - 展示简单数据类型的使用及类型检测。 - `7.reference_type` - 展示数组、切片、Map及结构体的基本操作。 ## 贡献说明 欢迎提交Issue与Pull Request,用于改进示例代码或补充说明文档。 ## 许可证 本项目遵循MIT License。详情见`LICENSE`文件。