在ZIO的新版本中,IO和UIO有什么区别,例如UIO[Long]
和IO[Nothing, Long]
?
没有区别。输入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]]
编译。
UIO[A]
是IO[Nothing, A]
。