什么“类型T = ..”在Scala中意味着什么?

时间:2014-10-14 04:27:41

标签: scala syntax types

type Set = Int => Boolean

我试图找出这意味着什么。从我的理解type就像一个别名,但我不确定这与使用def有什么不同。如果我的老师不会告诉我使用type,我会选择def。我还需要对其余的含义有一点清晰。我们有一个名为Set的类型,即Int,但=> Boolean是什么意思?

2 个答案:

答案 0 :(得分:1)

type关键字会创建一个类型别名。如果你知道的话,与C ++中的typedef非常相似。目的是为通用事物分配特定于上下文的名称。因此,在Person课程中,您可以执行type Firstname = String / type Lastname = String,这样您就可以按类型区分这两个字段而不会混淆它们(这是一个愚蠢的例子,但它过去了午夜所以处理它。)

在这种情况下,您将Set定义为Int => Boolean的别名,这是一个采用Int并返回Boolean的函数的类型。我不确定为什么会构成一个" set",但这就是代码的含义。

答案 1 :(得分:-1)

T 在方括号[T]

我对Scala完全陌生,当我到达此职位时,我实际上是想了解方括号内的 T 的含义是[T],并且我发现它是指此'object'中元素的类型(WrappedArray是我正在阅读的对象)。

enter image description here

...以防万一这对某人有所帮助。