https://github.com/powerfulyang/go-code-sample
https://github.com/powerfulyang/go-code-sample
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/powerfulyang/go-code-sample
- Owner: powerfulyang
- Created: 2025-05-16T10:33:05.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2025-06-09T03:07:48.000Z (4 months ago)
- Last Synced: 2025-06-09T04:21:08.379Z (4 months ago)
- Language: Go
- Size: 197 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Golang Examples Repository
这是一个全面的 Go 语言学习资源库,包含从基础语法到高级特性以及常用生态系统的实用示例。
## 🎯 项目特点
- **系统性学习路径**:从基础到高级的完整学习路径
- **实用代码示例**:每个示例都可以独立运行并解决实际问题
- **完善的测试**:包含单元测试和基准测试示例
- **丰富的注释**:详细的中文注释,便于理解
- **标准项目结构**:遵循 Go 语言最佳实践
- **友好的用户体验**:丰富的表情符号和清晰的学习指导
- **渐进式学习**:科学的模块组织和学习建议## 📁 目录结构
### 01-basics - 基础语法
- `01-variables-constants/` - 变量和常量
- `02-format/` - 格式化输出
- `03-data-types/` - 数据类型(数值、字符串、布尔)
- `04-control-flow/` - 控制流程(条件、循环、选择)
- `05-functions/` - 函数(基础、多返回值、可变参数、闭包)
- `06-arrays-slices-maps/` - 集合类型(数组、切片、映射)
- `07-structs-methods/` - 结构体和方法
- `08-pointers/` - 指针
- `09-error-handling/` - 错误处理
- `10-packages-modules/` - 包和模块系统### 02-advanced-features - 高级特性
- `01-interfaces/` - 接口
- `02-concurrency/` - 并发编程 (Goroutines + Channels)
- `03-generics/` - 泛型 (Go 1.18+)
- `04-reflection/` - 反射
- `05-testing/` - 测试框架
- `06-performance/` - 性能优化### 03-ecosystem - 生态系统
- `01-standard-library/` - 标准库示例
- `02-third-party-libraries/` - 第三方库和函数式编程
- `03-go-tools/` - Go工具链
- `04-popular-libraries/` - 流行库使用模式### 03-practical-examples - 实际应用示例
- `01-package-management/` - 包管理### 04-practical-applications - 实际应用开发
- `01-web-api/` - Web API开发
- `02-database/` - 数据库操作
- `03-cli-tool/` - CLI工具开发
- `04-network/` - 网络编程 (TCP/UDP/WebSocket)
- `07-security/` - 安全和认证 (JWT/加密)## 🚀 快速开始
### 运行示例
```bash
# 运行主程序演示
go run main.go demo # 基础演示
go run main.go interfaces # 接口示例
go run main.go concurrency # 并发编程示例
go run main.go generics # 泛型示例
go run main.go reflection # 反射示例
go run main.go testing # 测试框架示例
go run main.go stdlib # 标准库示例
go run main.go functional # 函数式编程示例
go run main.go webapi # Web API示例
go run main.go database # 数据库操作示例
go run main.go cli # CLI工具示例
go run main.go network # 网络编程示例
go run main.go security # 安全和认证示例
go run main.go packages # 包和模块系统示例
go run main.go performance # 性能优化示例
go run main.go tools # Go工具链示例
go run main.go popular # 流行库使用示例
go run main.go all # 运行所有示例# 运行所有测试
go test ./...# 运行特定模块的测试
go test -v ./01-basics/03-data-types/...
go test -v ./02-advanced-features/03-generics/...
go test -v ./03-ecosystem/01-standard-library/...# 运行基准测试
go test -bench=. ./01-basics/05-functions/...
go test -bench=. ./02-advanced-features/03-generics/...# 查看测试覆盖率
go test -cover ./...
```### 学习建议
1. **按顺序学习**:建议按照目录编号顺序学习
2. **动手实践**:每个示例都可以直接运行,建议修改代码观察结果
3. **阅读测试**:测试文件包含了丰富的使用示例
4. **运行基准测试**:了解性能特性## 📚 学习路径
### 初学者路径
1. 01-basics/01-variables-constants - 了解变量和常量
2. 01-basics/02-format - 学习格式化输出
3. 01-basics/03-data-types - 掌握基本数据类型
4. 01-basics/04-control-flow - 学习控制流程
5. 01-basics/05-functions - 理解函数概念### 进阶路径
1. 01-basics/06-arrays-slices-maps - 掌握集合类型
2. 01-basics/07-structs-methods - 学习面向对象
3. 01-basics/08-pointers - 理解指针概念
4. 02-advanced-features/01-interfaces - 学习接口### 高级路径
1. 02-advanced-features/02-concurrency - 并发编程 (Goroutines + Channels)
2. 02-advanced-features/03-generics - 泛型编程 (Go 1.18+)
3. 02-advanced-features/04-reflection - 反射编程
4. 02-advanced-features/05-testing - 测试框架和技巧
5. 02-advanced-features/06-performance - 性能优化技巧
6. 01-basics/10-packages-modules - 包和模块系统
7. 03-ecosystem/01-standard-library - 标准库深入
8. 03-ecosystem/02-third-party-libraries - 函数式编程和工具库
9. 03-ecosystem/03-go-tools - Go工具链使用
10. 03-ecosystem/04-popular-libraries - 流行库使用模式### 实战路径
1. 04-practical-applications/01-web-api - Web API开发
2. 04-practical-applications/02-database - 数据库操作和设计
3. 04-practical-applications/03-cli-tool - CLI工具开发
4. 04-practical-applications/04-network - 网络编程和通信
5. 04-practical-applications/07-security - 安全认证和加密## 🚀 快速开始
### 运行基础示例