【发布时间】:2016-11-28 13:55:48
【问题描述】:
scala中def用于定义方法,val、var用于定义变量。
考虑以下代码:
scala> def i = 3
i: Int
scala> i.getClass()
res0: Class[Int] = int
scala> val v = 2
v: Int = 2
scala> v.getClass()
res1: Class[Int] = int
scala> println(v)
2
scala> println(i)
3
scala> i+v
res4: Int = 5
scala> def o = () => 2+3
o: () => Int
scala> o.getClass()
res5: Class[_ <: () => Int] = class $$Lambda$1139/1753607449
为什么变量定义可以使用def?如果它定义了一个返回 Int 的函数,那么为什么 getClass 显示 Int 而不是函数对象?
【问题讨论】:
标签: scala