文档
分类
标签
归档
友链
文档
分类
标签
归档
友链
Volantis
文档
帮助
示例
社区
博客
源码
Golang基础
第1章:环境搭建与工具链
1.1 Go语言安装与配置
1.1.1 跨平台安装指南(Windows/Mac/Linux)
Windows安装
macOS安装
Linux安装
1.1.2 环境变量配置($GOPATH vs. 模块模式)
GOPATH 模式
模块模式(Go Modules)
环境变量配置示例
1.1.3 验证安装与版本管理(go version)
验证安装
运行第一个 Go 程序
Go 版本管理
1.2 模块管理(go mod)
1.2.1 初始化模块(go mod init)
初始化新模块
go.mod 文件结构
已有项目迁移到模块
1.2.2 依赖管理(go get、go mod tidy)
go get 命令详解
go mod tidy 命令
常用依赖管理命令
1.2.3 版本控制与依赖升级
语义化版本
升级依赖
降级依赖
使用 go.mod replace
1.3 工具链使用
1.3.1 代码格式化(go fmt)
go fmt 使用
gofmt(底层工具)
格式化规则示例
IDE/Editor 集成
1.3.2 构建与运行(go build/run)
go run - 快速运行
go build - 编译
构建约束
交叉编译
1.3.3 文档生成(godoc)
使用 godoc
go doc 命令行文档
注释生成文档
第2章:基础语法与程序结构
2.1 基本语法规范
2.1.1 代码结构(包声明、导入、主函数)
包声明
导入声明
主函数
完整示例
2.1.2 分号与代码风格
分号插入规则
代码风格建议
2.2 数据类型
2.2.1 基本类型(整数、浮点、布尔、字符串)
整数类型
浮点数类型
布尔类型
字符串类型
2.2.2 复合类型(数组、切片、Map、结构体)
数组
切片(Slice)
Map(字典)
结构体
2.2.3 零值与类型转换
零值
类型转换
2.3 变量与常量
2.3.1 变量声明(var、短变量声明:=)
2.3.2 常量定义(const)
2.3.3 作用域与可见性规则
2.4 控制流
2.4.1 条件语句(if/else、switch)
2.4.2 循环语句(for、range)
2.4.3 跳转语句(break/continue/goto)
第3章:函数与错误处理
3.1 函数基础
3.1.1 函数定义与参数传递(值传递 vs. 引用传递)
3.1.2 多返回值与命名返回值
3.1.3 可变参数与匿名函数
3.2 错误处理机制
3.2.1 错误类型(error接口)
3.2.2 错误处理流程(检查错误、返回错误)
3.2.3 panic与recover机制
3.3 延迟执行(defer)
3.3.1 defer的工作原理
3.3.2 资源清理与栈式执行
第4章:包与模块化开发
4.1 包管理基础
4.1.1 包的导入与别名
4.1.2 可见性规则(大写首字母导出)
4.2 自定义包开发
4.2.1 包结构设计
4.2.2 init函数与包初始化顺序
4.3 标准库常用包概览
4.3.1 fmt包(格式化输入输出)
4.3.2 os包(文件与系统操作)
4.3.3 encoding/json(JSON编解码)
4.3.4 time包(时间处理)
第5章:接口与类型系统
5.1 接口定义与实现
5.1.1 接口的隐式实现
5.1.2 空接口(interface{})的应用
5.2 类型嵌入与组合
5.2.1 结构体嵌入与继承
5.2.2 方法集与接口组合
5.3 类型断言与类型转换
5.3.1 类型断言(type switch)
5.3.2 类型转换与反射
第6章:测试与性能基准
6.1 单元测试
6.1.1 测试函数编写规范(TestXxx)
6.1.2 表驱动测试与子测试(t.Run)
6.2 性能基准测试
6.2.1 Benchmark函数与指标分析
6.2.2 性能优化示例
6.3 代码覆盖率与工具
6.3.1 go test -cover的使用
6.3.2 可视化覆盖率报告
6.4 测试工具链
6.4.1 测试框架(如testing.T)
6.4.2 依赖Mock与测试替身
2020-02-21
Golang
Golang
阅读全文
Golang进阶
第1章:并发编程模型
1.1 Goroutine调度机制与GMP模型
什么是Goroutine
GMP模型详解
1.2 Channel高级用法
1.2.1 缓冲通道与非缓冲通道
1.2.2 超时控制与超时检测
1.2.3 Select多路复用
1.3 并发同步原语
1.3.1 互斥锁与读写锁
1.3.2 等待组
1.3.3 单次执行
1.4 Context上下文传递
1.4.1 取消信号与超时控制
1.4.2 上下文传递
1.5 并发模式与技巧
1.5.1 生产者-消费者模型
1.5.2 并发安全的数据结构
1.5.3 并发限流
1.6 并发调试
数据竞争检测
1.7 分布式并发
分布式锁(Redis)
分布式事务(2PC/TCC)
第2章:高性能开发与优化
2.1 性能分析工具链
CPU Profiling(pprof)
内存 Profiling
2.2 代码优化技巧
减少内存分配
2.3 并发优化
流水线模式
2.4 网络与IO优化
连接池
第3章:工程化与最佳实践
3.1 代码质量
SOLID原则
模块化设计
3.2 错误处理与日志
结构化日志(zap)
错误包装
3.3 测试
表驱动测试
Mock依赖
第4章:网络编程与微服务架构
4.1 HTTP/2与gRPC
gRPC服务定义
gRPC服务器实现
拦截器
4.2 中间件与链路追踪
中间件模式
OpenTelemetry
4.3 静态资源优化
Gzip压缩
4.4 API网关与服务发现
服务注册(Consul)
4.5 服务网格(Istio)
4.6 熔断与降级
4.7 mTLS认证
4.8 JWT认证
4.9 消息队列
Kafka生产者
2020-02-21
Golang
Golang
阅读全文