vRp.CD2g_test/planner/pce
kercylan98 22449ff5c3 docs: 优化 README.md 可读性 2024-01-15 17:27:02 +08:00
..
cs docs: 优化 README.md 可读性 2024-01-15 17:27:02 +08:00
exporter docs: 优化泛型约束类型文档显示 2024-01-14 19:15:25 +08:00
tmpls docs: 优化 README.md 可读性 2024-01-15 17:27:02 +08:00
README.md docs: 优化 README.md 可读性 2024-01-15 17:27:02 +08:00
config.go other: pce.ce 包提供内置的 xlsx 配置表 2023-07-17 14:36:29 +08:00
data_tmpl.go feat: 重构 config 和 configexport 包 2023-07-17 13:28:17 +08:00
exporter.go other: 配置导表优化 2023-07-17 16:06:36 +08:00
field.go other: 配置导表优化 2023-07-17 16:06:36 +08:00
field_test.go feat: 重构 config 和 configexport 包 2023-07-17 13:28:17 +08:00
fields.go build: 更新依赖版本 2023-08-23 19:46:02 +08:00
loader.go feat: 修复配置导表工具数组处理异常的问题 2023-11-11 18:18:56 +08:00
tmpl.go other: 配置导表优化 2023-07-17 16:06:36 +08:00
tmpl_field.go test: collection 包完善测试用例 2024-01-11 18:46:10 +08:00
tmpl_struct.go test: collection 包完善测试用例 2024-01-11 18:46:10 +08:00

README.md

Pce

Go doc

暂无介绍...

目录导航

列出了该 package 下所有的函数及类型定义,可通过目录导航进行快捷跳转 ❤️

展开 / 折叠目录导航

包级函数定义

函数名称 描述
NewExporter 创建导出器
GetFieldGolangType 获取字段的 Golang 类型
GetFields 获取所有内置支持的字段
NewLoader 创建加载器

类型定义

类型 名称 描述
INTERFACE Config 配置解析接口
INTERFACE DataTmpl 数据导出模板
STRUCT Exporter 导出器
INTERFACE Field 基本字段类型接口
STRUCT Int 暂无描述...
STRUCT Int8 暂无描述...
STRUCT Int16 暂无描述...
STRUCT Int32 暂无描述...
STRUCT Int64 暂无描述...
STRUCT Uint 暂无描述...
STRUCT Uint8 暂无描述...
STRUCT Uint16 暂无描述...
STRUCT Uint32 暂无描述...
STRUCT Uint64 暂无描述...
STRUCT Float32 暂无描述...
STRUCT Float64 暂无描述...
STRUCT String 暂无描述...
STRUCT Bool 暂无描述...
STRUCT Byte 暂无描述...
STRUCT Rune 暂无描述...
STRUCT Complex64 暂无描述...
STRUCT Complex128 暂无描述...
STRUCT Uintptr 暂无描述...
STRUCT Double 暂无描述...
STRUCT Float 暂无描述...
STRUCT Long 暂无描述...
STRUCT Short 暂无描述...
STRUCT Char 暂无描述...
STRUCT Number 暂无描述...
STRUCT Integer 暂无描述...
STRUCT Boolean 暂无描述...
STRUCT Loader 配置加载器
STRUCT DataInfo 配置数据
STRUCT DataField 配置数据字段
INTERFACE Tmpl 配置结构模板接口
STRUCT TmplField 模板字段
STRUCT TmplStruct 模板结构

详情信息

func NewExporter() *Exporter

创建导出器


func GetFieldGolangType(field Field) string

获取字段的 Golang 类型

查看 / 收起单元测试

func TestGetFieldGolangType(t *testing.T) {
	fmt.Println(pce.GetFieldGolangType(new(pce.String)))
}


func GetFields() []Field

获取所有内置支持的字段


func NewLoader(fields []Field) *Loader

创建加载器

  • 加载器被用于加载配置表的数据和结构信息

Config INTERFACE

配置解析接口

  • 用于将配置文件解析为可供分析的数据结构
  • 可以在 cs 包中找到内置提供的实现及其模板,例如 cs.XlsxIndexConfig
type Config interface {
	GetConfigName() string
	GetDisplayName() string
	GetDescription() string
	GetIndexCount() int
	GetFields() []DataField
	GetData() [][]DataInfo
}

DataTmpl INTERFACE

数据导出模板

type DataTmpl interface {
	Render(data map[any]any) (string, error)
}

Exporter STRUCT

导出器

type Exporter struct{}

func (*Exporter) ExportStruct(tmpl Tmpl, tmplStruct ...*TmplStruct) ( []byte, error)

导出结构


func (*Exporter) ExportData(tmpl DataTmpl, data map[any]any) ( []byte, error)

导出数据


Field INTERFACE

基本字段类型接口

type Field interface {
	TypeName() string
	Zero() any
	Parse(value string) any
}

Int STRUCT

type Int int

func (Int) TypeName() string


func (Int) Zero() any


func (Int) Parse(value string) any


Int8 STRUCT

type Int8 int8

func (Int8) TypeName() string


func (Int8) Zero() any


func (Int8) Parse(value string) any


Int16 STRUCT

type Int16 int16

func (Int16) TypeName() string


func (Int16) Zero() any


func (Int16) Parse(value string) any


Int32 STRUCT

type Int32 int32

func (Int32) TypeName() string


func (Int32) Zero() any


func (Int32) Parse(value string) any


Int64 STRUCT

type Int64 int64

func (Int64) TypeName() string


func (Int64) Zero() any


func (Int64) Parse(value string) any


Uint STRUCT

type Uint uint

func (Uint) TypeName() string


func (Uint) Zero() any


func (Uint) Parse(value string) any


Uint8 STRUCT

type Uint8 uint8

func (Uint8) TypeName() string


func (Uint8) Zero() any


func (Uint8) Parse(value string) any


Uint16 STRUCT

type Uint16 uint16

func (Uint16) TypeName() string


func (Uint16) Zero() any


func (Uint16) Parse(value string) any


Uint32 STRUCT

type Uint32 uint32

func (Uint32) TypeName() string


func (Uint32) Zero() any


func (Uint32) Parse(value string) any


Uint64 STRUCT

type Uint64 uint64

func (Uint64) TypeName() string


func (Uint64) Zero() any


func (Uint64) Parse(value string) any


Float32 STRUCT

type Float32 float32

func (Float32) TypeName() string


func (Float32) Zero() any


func (Float32) Parse(value string) any


Float64 STRUCT

type Float64 float64

func (Float64) TypeName() string


func (Float64) Zero() any


func (Float64) Parse(value string) any


String STRUCT

type String string

func (String) TypeName() string


func (String) Zero() any


func (String) Parse(value string) any


Bool STRUCT

type Bool bool

func (Bool) TypeName() string


func (Bool) Zero() any


func (Bool) Parse(value string) any


Byte STRUCT

type Byte byte

func (Byte) TypeName() string


func (Byte) Zero() any


func (Byte) Parse(value string) any


Rune STRUCT

type Rune rune

func (Rune) TypeName() string


func (Rune) Zero() any


func (Rune) Parse(value string) any


Complex64 STRUCT

type Complex64 complex64

func (Complex64) TypeName() string


func (Complex64) Zero() any


func (Complex64) Parse(value string) any


Complex128 STRUCT

type Complex128 complex128

func (Complex128) TypeName() string


func (Complex128) Zero() any


func (Complex128) Parse(value string) any


Uintptr STRUCT

type Uintptr uintptr

func (Uintptr) TypeName() string


func (Uintptr) Zero() any


func (Uintptr) Parse(value string) any


Double STRUCT

type Double float64

func (Double) TypeName() string


func (Double) Zero() any


func (Double) Parse(value string) any


Float STRUCT

type Float float32

func (Float) TypeName() string


func (Float) Zero() any


func (Float) Parse(value string) any


Long STRUCT

type Long int64

func (Long) TypeName() string


func (Long) Zero() any


func (Long) Parse(value string) any


Short STRUCT

type Short int16

func (Short) TypeName() string


func (Short) Zero() any


func (Short) Parse(value string) any


Char STRUCT

type Char int8

func (Char) TypeName() string


func (Char) Zero() any


func (Char) Parse(value string) any


Number STRUCT

type Number float64

func (Number) TypeName() string


func (Number) Zero() any


func (Number) Parse(value string) any


Integer STRUCT

type Integer int64

func (Integer) TypeName() string


func (Integer) Zero() any


func (Integer) Parse(value string) any


Boolean STRUCT

type Boolean bool

func (Boolean) TypeName() string


func (Boolean) Zero() any


func (Boolean) Parse(value string) any


Loader STRUCT

配置加载器

type Loader struct {
	fields map[string]Field
}

func (*Loader) LoadStruct(config Config) *TmplStruct

加载结构


func (*Loader) LoadData(config Config) map[any]any

加载配置并得到配置数据


DataInfo STRUCT

配置数据

type DataInfo struct {
	DataField
	Value string
}

DataField STRUCT

配置数据字段

type DataField struct {
	Index      int
	Name       string
	Desc       string
	Type       string
	ExportType string
}

Tmpl INTERFACE

配置结构模板接口

type Tmpl interface {
	Render(templates ...*TmplStruct) (string, error)
}

TmplField STRUCT

模板字段

type TmplField struct {
	Name    string
	Desc    string
	Type    string
	Struct  *TmplStruct
	Index   int
	slice   bool
	isIndex bool
}

func (*TmplField) IsIndex() bool

是否是索引字段


func (*TmplField) IsStruct() bool

是否是结构类型


func (*TmplField) IsSlice() bool

是否是切片类型


TmplStruct STRUCT

模板结构

type TmplStruct struct {
	Name       string
	Desc       string
	Fields     []*TmplField
	IndexCount int
}

func (*TmplStruct) AllChildren() []*TmplStruct

获取所有子结构