【摘要】:Scala 的if-else 语法结构和Java 的一样,不过,Scala 的if-else 表达式有值,这个值就是跟在if 或者else 后面的表达式的值。if-else 还可以是混合型表达式,如:scala> val a = if "hello" else 0a: Any = hello这个时候a 的数据类型是Any 类型,在7.2.1 中提到Any 是所有类型的超类;采用混合型表达式时,Scala 在编译的时候不能确定返回值类型,故定义为Any。
Scala 的if-else 语法结构和Java 的一样,不过,Scala 的if-else 表达式有值,这个值就是跟在if 或者else 后面的表达式的值。
例如:scala> val a = 5
scala> val b = if(a < 0) 1 else 0 b: Int = 0
还可以写成下面写法:
scala> val a = 5
scala> var b : Int = 0
scala> if(a < 0) { b = 1 } else {b = 0}
scala> b
res18: Int = 0(www.daowen.com)
虽然第一种写法和第二种等价,但是推荐使用前者,因为它可以用来初始化一个常量,而第二种必须是变量才可以。
if-else 还可以是混合型表达式,如:
scala> val a = if( 5 > 4) "hello" else 0
a: Any = hello
这个时候a 的数据类型是Any 类型,在7.2.1 中提到Any 是所有类型的超类;采用混合型表达式时,Scala 在编译的时候不能确定返回值类型,故定义为Any。另外也可能存在if 语句没有返回值的情况,但Scala 同样为其设置返回值为Any,如:
scala> val a = if( 5 < 4) "hello"
a: Any = ()
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关大数据技术及应用探究的文章