类型参数中*(星号)和_(下划线)之间的差异

问题描述 投票:1回答:1

[Here有人说星标是scala 3的下划线,但是我在scala 2.13中看到了类似这样的代码:

def make[F[_]: ContextShift: MonadError[*[_], Throwable]: Effect: Logging](): ...

它具有相同的含义,只是在*中指定的类型与_中的类型不同吗?

scala functional-programming scala-cats kind-projector
1个回答
5
投票

[_表示(取决于上下文)] >>

  • 类型构造函数-如果在类型参数定义/约束中使用
    def foo[F[_]]: Unit
    
© www.soinside.com 2019 - 2024. All rights reserved.