scalaz ZIO中IO和UIO的区别

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

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

scala scalaz scalaz-zio
1个回答
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]]

编译。

UIO[A]IO[Nothing, A]

© www.soinside.com 2019 - 2024. All rights reserved.