Golang 泛型+可变参数函数

admin 阅读:78 2024-03-14

golang 泛型+可变参数函数

问题内容

在 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 中,尚不支持通用可变参数函数。但是,您可以通过使用可变参数和递归来实现类似的结果。

声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!