我想写一个泛型函数,看起来像这样:
func Transform(a A) B
...其中A和B都是泛型类型。如果我只有一个泛型类型,我可以这样做:
func Transform[A SomeType | SomeOtherType](a A) B
但是我如何定义B类型呢?这是行不通的:
func Transform[A SomeType | SomeOtherType][B SomeThirdType](a A) B
w8f9ii691#
当一个函数有多个参数时,你该怎么做?你用 * 逗号 * 分隔列出它们。当一个函数有多个类型参数时,你该怎么做?是的,你用 * 逗号 * 分隔列出它们:
func Transform[A SomeType | SomeOtherType, B SomeThirdType](a A) B
详见规范:类型参数声明:
TypeParameters = "[" TypeParamList [ "," ] "]" .
1条答案
按热度按时间w8f9ii691#
当一个函数有多个参数时,你该怎么做?你用 * 逗号 * 分隔列出它们。当一个函数有多个类型参数时,你该怎么做?是的,你用 * 逗号 * 分隔列出它们:
详见规范:类型参数声明: