Either 是一个类似于选项的容器,它有两个值,它们被称为子级。左、右子项被命名为右子项和左子项。
左子类似于 None 类,后者在可能返回错误时使用。
右子类似于某些类,该类用于返回值,即用于成功执行代码。
语法:
Either [left, right]
左和右均为返回值的数据类型,当存在错误情况或有效情况时,可用于定义结果。
object MyObject { // 定义 def isEven(number : Int ): Either[String, String] = { if(number%2 == 0){ Right(number + "是偶数。") } else Left(number + "不是偶数。") } // 主要代码 def main(args: Array[String]) { println(isEven(4)) println(isEven(95)) } }
输出结果
Right(4 是偶数。) Left(95 不是偶数。)