dartz 中的任一个和选项有什么区别?

问题描述

我想了解 dartz,但文档不够清楚。 我需要在 dartz 中找出两者之一和 Option 之间的区别?

abstract class Option<A> implements TraversableMonadplusOps<Option,A>

VS

abstract class Either<L,R> implements TraversableMonadOps<Either<L,dynamic>,R> 

解决方法

嗯,一个 Option 类型通常是一个类型,要么保存一个类型化的值,要么什么都不保存。

例如,如果您想获取整数列表的第一个整数,这可能是 Option<int>,因为它可以是 int 或 nothing,以防列表为空。但不能是字符串。

Either 类型就是名称所说的......要么就是其中一种。它可以是两种不同的类型。 Either<int,string> 将具有 int 字符串。从来没有。从来没有。一个或另一个。

例如,函数 ParseInt 方法可能会返回 Either<int,string>,因为它会返回有效的 int 或错误消息。