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]
。
关于scala - scalaz ZIO中IO和UIO的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55116834/