export_package

package
v1.2.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package export_package 提供自动生成 Go 包导出代码的工具 该包通过反射分析指定包的导出类型、函数、变量和常量,自动生成类型别名代码 用于简化对外部包的引用,避免直接依赖底层实现包

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExportPackage

func ExportPackage(pkgName string, srcPkg string) string

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL