Scala 这两个定义之间有什么区别

Scala 这两个定义之间有什么区别,scala,implicit,context-bound,Scala,Implicit,Context Bound,这两个定义有什么区别 def[f[:异步](…)=??? def[f[]](…)(隐式f:Async[f])=??? 稍后,我可以在第一种情况下使用Async[F].Async{},在第二种情况下使用F.Async{} 但我不明白其中的区别。Thx.我想说,这只是个人喜好的问题 一个对另一个来说是语法上的糖分,你可以使用其中任何一个来实现同样的目标 请注意,您可以使用这个Async[F].Async{}方法,因为有人已经定义了类似于第二个选项的apply方法 如果不是这样,那么您必须像隐式[As

这两个定义有什么区别

def[f[:异步](…)=???

def[f[]](…)(隐式f:Async[f])=???

稍后,我可以在第一种情况下使用
Async[F].Async{}
,在第二种情况下使用
F.Async{}

但我不明白其中的区别。Thx.

我想说,这只是个人喜好的问题

一个对另一个来说是语法上的糖分,你可以使用其中任何一个来实现同样的目标

请注意,您可以使用这个
Async[F].Async{}
方法,因为有人已经定义了类似于第二个选项的
apply
方法


如果不是这样,那么您必须像
隐式[Async[F]]那样编写它。Async{}

如果您不喜欢隐式,您可能不会使用类似lib的cats效果