百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
G

goderive

> 编程语言
开源

提取和生成您不想自己维护的普通 golang 函数

1.3K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

提取和生成您不想自己维护的普通 golang 函数

goderive goderive 从普通的 Golang 函数中提取你不想维护的函数,并使其保持最新。它通过分析你的 Go 代码来查找未实现的函数,然后从输入参数类型中推导这些函数的实现。示例 在以下代码中,deriveEqual 函数将被识别为一个未实现(或之前已推导)的函数,并且具有 deriveEqual 前缀。go 包 main 类型 MyStruct 结构体 { Int64 int64 StringPtr string } func (this MyStruct) Equal(that MyStruct) bool { return deriveEqual(this, that) } 然后,goderive 将在同一个包中的 derived.gen.go 文件中生成以下代码: go func deriveEqual(this, that MyStruct) bool { return (this == nil && that == nil) || this != nil && that != nil && this.Int64 == that.Int64 && ((this.StringPtr == nil && that.StringPtr == nil) || (this.StringPtr != nil && that.StringPtr != nil && (this.StringPtr) == (that.StringPtr))) } 递归示例: - Equal - Compare - DeepCopy - GoString - Hash 集合示例: - Keys - Sort - Unique - Set - Min - Max - Contains - Intersect - Union 函数示例: - Compose - Mem - Traverse - ToError 并发示例: - Pipeline - Do 函数 递归函数: - Equal - deriveEqual(T, T) bool - deriveEqual(T) func(T) bool - Compare - deriveCompare(T, T) int - deriveCompare(T) func(T) int - DeepCopy - deriveDeepCopy(dst T, src T) - deriveDeepCopy(dst []T, src []T) - deriveDeepCopy(dst map[A]B, src map[A]B) - Clone deriveClone(T) T - GoString deriveGoString(T) string - Hash deriveHash(T) uint64 函数示例: - Fmap - deriveFmap(func(A) B, []A) []B - deriveFmap(func(rune) B, string) []B - deriveFmap(func(A) B, func() (A, error)) (B, error) - deriveFmap(func(A) (B, error), func() (A, error)) (func() (B, error), error) - deriveFmap(func(A), func() (A, error)) error - deriveFmap(func(A) (B, c, d, ...), func() (A, error)) (func() (B, c, d, ...), error) - Join - deriveJoin([][]T) []T - deriveJoin([]string) string - deriveJoin(func() (T, error), error) func() (T, error) - deriveJoin(func() (T, ..., error), error) func() (T, ..., error) - Flip deriveFlip(f func…)

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Goderivingfunctional-programminggeneratorgenerics

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言