这是一个全面的 Go 语言学习资源库,包含从基础语法到高级特性以及常用生态系统的实用示例。
- 系统性学习路径:从基础到高级的完整学习路径
- 实用代码示例:每个示例都可以独立运行并解决实际问题
- 完善的测试:包含单元测试和基准测试示例
- 丰富的注释:详细的中文注释,便于理解
- 标准项目结构:遵循 Go 语言最佳实践
- 友好的用户体验:丰富的表情符号和清晰的学习指导
- 渐进式学习:科学的模块组织和学习建议
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/
- 包和模块系统
01-interfaces/
- 接口02-concurrency/
- 并发编程 (Goroutines + Channels)03-generics/
- 泛型 (Go 1.18+)04-reflection/
- 反射05-testing/
- 测试框架06-performance/
- 性能优化
01-standard-library/
- 标准库示例02-third-party-libraries/
- 第三方库和函数式编程03-go-tools/
- Go工具链04-popular-libraries/
- 流行库使用模式
01-package-management/
- 包管理
01-web-api/
- Web API开发02-database/
- 数据库操作03-cli-tool/
- CLI工具开发04-network/
- 网络编程 (TCP/UDP/WebSocket)07-security/
- 安全和认证 (JWT/加密)
# 运行主程序演示
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 ./...
- 按顺序学习:建议按照目录编号顺序学习
- 动手实践:每个示例都可以直接运行,建议修改代码观察结果
- 阅读测试:测试文件包含了丰富的使用示例
- 运行基准测试:了解性能特性
- 01-basics/01-variables-constants - 了解变量和常量
- 01-basics/02-format - 学习格式化输出
- 01-basics/03-data-types - 掌握基本数据类型
- 01-basics/04-control-flow - 学习控制流程
- 01-basics/05-functions - 理解函数概念
- 01-basics/06-arrays-slices-maps - 掌握集合类型
- 01-basics/07-structs-methods - 学习面向对象
- 01-basics/08-pointers - 理解指针概念
- 02-advanced-features/01-interfaces - 学习接口
- 02-advanced-features/02-concurrency - 并发编程 (Goroutines + Channels)
- 02-advanced-features/03-generics - 泛型编程 (Go 1.18+)
- 02-advanced-features/04-reflection - 反射编程
- 02-advanced-features/05-testing - 测试框架和技巧
- 02-advanced-features/06-performance - 性能优化技巧
- 01-basics/10-packages-modules - 包和模块系统
- 03-ecosystem/01-standard-library - 标准库深入
- 03-ecosystem/02-third-party-libraries - 函数式编程和工具库
- 03-ecosystem/03-go-tools - Go工具链使用
- 03-ecosystem/04-popular-libraries - 流行库使用模式
- 04-practical-applications/01-web-api - Web API开发
- 04-practical-applications/02-database - 数据库操作和设计
- 04-practical-applications/03-cli-tool - CLI工具开发
- 04-practical-applications/04-network - 网络编程和通信
- 04-practical-applications/07-security - 安全认证和加密