Scala 类型系统与高级函数编程深度解析
1. Scala 类型表示法
在 Scala 中,使用 TupleN 语法指定元组并不常见,同样, FunctionN 语法也很少使用。这里重点介绍中缀类型(Infix Types)。对于接受两个类型参数的类型,可以使用中缀表示法。以 Either[A, B] 为例:
val left1: Either[String,Int] = Left("hello")
val left2: String Either Int = Left("hello")
val right1: Either[String,Int] = Right(1)
val right2: String Either Int = Right(2)
中缀类型可以嵌套,默认情况下是左结合的,不过如果类型名以冒号 : 结尾,则是右结合的,这和普通表达式(术语)的规则一致。可以使用括号来改变默认的结合性。以下是一些示例代码:
// src/main/scala/progscala2/typesystem/valuetypes/infix-types.sc
scala> val xll1: Int Either Double Either String = Left(Left(1))
xll1: Either[Either[Int,Double],String] = Left(Left(1)
超级会员免费看
订阅专栏 解锁全文
63

被折叠的 条评论
为什么被折叠?



