Scala中if使用
来源:互联网 发布:监视网络流量软件 编辑:程序博客网 时间:2024/06/14 07:26
从表面上看,Scala中的if语句看起来很像Java中的If语句。执行时首先判断表达式的值,如果为true,则执行对应代码块。否则进行下一代码块判断。如下:
if(2+2 == 5){ println("hello from 1984.")}else if(2+2 ==3){ println("hello from Remedial wath class?")}else{ println("hello from a non-Orwellian future.")}
上述代码与java中if语句没有任何差异,会执行条件为true的代码块。但是,在Scala中,if与几乎所有其他语句都是具有返回值的表达式。即可以将一个if语句赋值一个变量。如:
val configFile = new java.io.File("somefile.txt")val configFilePath = if(configFile.exists()){ configFile.getAbsolutePath()}else{ configFile.createNewFile() configFile.getAbsolutePath()}
上述代码实现的功能是:判断文件是否存在,如果存在,则将文件的绝对路径赋值给configFilePath,否则新建文件,并将新文件路径赋值给configFilePath。
对于if语句的返回值,主要时是根据各个判断子句可能返回的类型决定,即取各个可能返回值的最接近父类,也称为所有条件分支的最小上界类型。
class Personclass Student extends Personclass Worker extends Persondef getPerson(age:Int){ val p1 = if(age <= 25){ new Student() }else{ new Worker() }}
在上述代码中,如果输入年龄小于25,则返回Student对象,如果大于25,则返回Worker对象。Scala会根据类型推导,判断各个分支语句返回值,然后取其最小父类。本例中,if表达式返回值是Student和Worker的共有父类,即Person。
0 0
- Scala中if使用
- scala中使用protobuf
- shell中 if 使用
- robtfrmwork中使用if
- Scala if -- else 语句
- Scala if Statements
- Scala中Case的使用
- scala中yield的使用
- scala中function的使用
- 查询中使用IF判断
- js中if的使用
- java中if的使用
- shell 中if的使用
- shell 中if的使用
- jmeter中使用if controller
- scala学习之Scala中类的使用
- 【scala】Scala中lazy关键字的使用和理解
- mybaits where 语句中使用<if></if>注意事项
- [jQuery知识]jQuery之知识四-DOM和CSS操作
- java面试题及答案(基础题122道,代码题19道)
- 完美解决Android中onActivityResult提前执行调用的一系列问题
- 复合自然主键的映射
- 小白学习HTML-——第一天
- Scala中if使用
- Atitit USRqc62204 证书管理器标准化规范
- 31部黑客电影,你看过哪几部?
- Notepad++ 配置java编译环境
- OpenGL(二十四) VAO、VBO和着色器使用示例
- Golang xui UI库
- Codeforces Round #383 (Div. 2) B. Arpa’s obvious problem and Mehrdad’s terrible solution
- Android核心基础07
- 程序员小鸡汤