Documentation
¶
Overview ¶
Package export_package 提供自动生成 Go 包导出代码的工具 该包通过反射分析指定包的导出类型、函数、变量和常量,自动生成类型别名代码 用于简化对外部包的引用,避免直接依赖底层实现包
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExportPackage ¶
ExportPackage 分析指定的 Go 包,生成包含所有导出元素的类型别名代码
参数:
- pkgName: 要分析的 Go 包导入路径(如 "github.com/redis/go-redis/v9")
- srcPkg: 生成代码的目标包名(如 "redis")
返回:
- 格式化后的 Go 源代码字符串
功能说明:
- 扫描目标包的所有导出类型、函数、变量和常量
- 生成类型别名声明(type A = pkg.A)
- 生成变量别名声明(var A = pkg.A)
- 自动格式化生成的代码
注意:
- 该函数通过 runtime.Caller(1) 获取调用者的文件路径,用于生成代码注释
- 如果包加载失败或代码格式化失败,会触发 panic
示例:
code := ExportPackage("github.com/redis/go-redis/v9", "redis")
// 生成类似如下的代码:
// type Client = redis.Client
// var NewClient = redis.NewClient
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.