package
Version:
v0.4.26
Opens a new window with list of versions in this module.
Published: Mar 6, 2026
License: LGPL-2.1
Opens a new window with license information.
Imports: 3
Opens a new window with list of imports.
Imported by: 6
Opens a new window with list of known importers.
Documentation
¶
Cache2Iface 接口存储器(Cache)转换为接口
Cache 接口存储器,因为Golang原生的接口转换性能较差,所以在某些性能要求较高的场景下,需要尽量较少接口转换。
如果必须转换接口,那么目前可用的优化方案是,在编码时已知接口类型,可以将接口转换为[2]unsafe.Pointer,使用时再转换回接口。
Cache套件就是使用此优化方案,注意不安全,在明确了解此方案时再使用。
Iface2Cache 接口转换为接口存储器(Cache)
type Face[T any] struct {
Iface T
Cache Cache
}
Face 面,用于存储接口与接口存储器,接口用于断言转换类型,接口存储器用于重解释接口
func NewFaceT[T any](iface T) Face[T]
NewFaceT 创建面(Face),接口存储器重解释接口与接口类型相同
func NewFaceTC[T, C any](iface T, cache C) Face[T]
NewFaceTC 创建面(Face),接口存储器重解释接口与接口类型可以不同
func NewFaceTReflectC[T, C any](iface T) Face[T]
NewFaceTReflectC 创建面(Face),自动反射获取接口存储器
Source Files
¶
Click to show internal directories.
Click to hide internal directories.