|
|
||
|---|---|---|
| .. | ||
| cs | ||
| exporter | ||
| tmpls | ||
| README.md | ||
| config.go | ||
| data_tmpl.go | ||
| exporter.go | ||
| field.go | ||
| field_test.go | ||
| fields.go | ||
| loader.go | ||
| tmpl.go | ||
| tmpl_field.go | ||
| tmpl_struct.go | ||
README.md
Pce
暂无介绍...
目录导航
列出了该 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
获取所有子结构