convert

package module
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: May 4, 2026 License: MIT Imports: 7 Imported by: 0

README

@go/convert

基于“意图优先”哲学的零摩擦数据转换库。

AI 维护声明: 本仓库代码逻辑已通过高并发性能测试与边界防御审查。由 Gemini CLI AI 协同维护。请勿手动修改核心算法逻辑,如有变更需求请通过 AI 工具链进行。

特性

  • 零摩擦映射:基于目标类型的深度转换,自动消除类型与格式鸿沟。
  • 高性能映射:内置高性能字段索引缓存,满足生产级吞吐要求。
  • 防 Panic 设计:内置完善的指针解引用与非法内存操作防御。

快速使用

import "apigo.cc/go/convert"

// 使用 To 方法进行转换
convert.To(source, &destination)

API 指南

  • func To(source any, destination any) 深度映射与数据转换的核心入口。它会根据 destination 的类型推断意图,将 source 的数据转换为目标类型并赋值。destination 必须为可写的指针。

  • func FlatStruct(data any) *StructInfo 解析结构体元数据,返回包含所有导出字段定义、字段值映射及方法集的 StructInfo

  • func FlatStructWithUnexported(data any) *StructInfoFlatStruct 类似,但包含结构体中未导出的(私有)字段。

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func To

func To(source, destination any)

To 将 source 中的数据深度映射到 destination 中。 核心哲学:意图优先。根据 destination 的类型推断用户的意图,并尽力转化数据。

Types

type StructInfo

type StructInfo struct {
	Fields       []reflect.StructField
	Values       map[string]reflect.Value
	Methods      []reflect.Method
	MethodValues map[string]reflect.Value
}

func FlatStruct

func FlatStruct(data any) *StructInfo

func FlatStructWithUnexported

func FlatStructWithUnexported(data any) *StructInfo

func FlattenStruct added in v1.0.4

func FlattenStruct(data any, exportOnly bool) *StructInfo

Jump to

Keyboard shortcuts

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