首页 > 文章列表 > 使用Golang的可变参数函数和泛型实现

使用Golang的可变参数函数和泛型实现

142 2025-03-16
问题内容

在 golang 中,有一些通用类型的函数

type transformer[a, b any] func(a)(b, error)

如何定义一个通用可变参数高阶函数,该函数通常可以组成这样的函数

func Compose[A,B,C....N any](transformers... Transformer[A,B], Transformer[B,C]...Transformer[M,N]) Transformer[A,N]


正确答案


在 Go 中,尚不支持通用可变参数函数。但是,您可以通过使用可变参数和递归来实现类似的结果。