scalaz ZIO中IO和UIO之间的区别

Nas*_*neh 2 scala scalaz zio

例如UIO[Long],ZIO的新版本中的IO和UIO有什么区别IO[Nothing, Long]

Dmy*_*tin 8

没有区别。类型UIO[+A] = ZIO[Any, Nothing, A]和类型IO[+E, +A] = ZIO[Any, E, A]。因此,UIO[Long]IO[Nothing, Long]都是ZIO[Any, Nothing, Long](即,在任何环境中,都没有错误和的值Long)。

您可以通过验证

implicitly[UIO[Long] =:= IO[Nothing, Long]]
implicitly[IO[Nothing, Long] =:= UIO[Long]]
Run Code Online (Sandbox Code Playgroud)

编译。

UIO[A]IO[Nothing, A]