反射与泛型
一、反射(Reflection)
1.1 反射基础
- 反射概念
- reflect 包
- 反射应用场景
1.2 反射类型
- reflect.Type
- reflect.Value
- TypeOf 和 ValueOf
1.3 反射基本操作
- 获取类型信息
- 获取值信息
- 修改值
- 调用方法
1.4 反射与结构体
- 遍历字段
- 获取字段值
- 设置字段值
- 字段标签读取
1.5 反射与方法
- 获取方法
- 方法调用
- 动态调用
二、反射应用
2.1 深度拷贝
2.2 序列化/反序列化
2.3 动态代理
2.4 ORM 映射
2.5 配置解析
三、反射注意事项
3.1 性能开销
3.2 类型安全
3.3 可读性问题
3.4 使用原则
四、泛型(Generics)
4.1 泛型基础
- 泛型概念
- 泛型引入(Go 1.18)
- 类型参数
4.2 泛型函数
- 泛型函数定义
- 类型参数约束
- 类型推断
- comparable 约束
4.3 泛型类型
- 泛型结构体
- 泛型接口
- 类型嵌套
4.4 类型约束
- 接口约束
- ~ 类型
- 联合约束
- any 约束
4.5 泛型方法
- 方法类型参数
- 接收者约束
五、泛型应用
5.1 通用数据结构
- 泛型切片
- 泛型映射
- 泛型队列
5.2 通用算法
- 排序
- 查找
- 过滤
5.3 工具函数
- 函数式编程
- 数据转换