本文共 1752 字,大约阅读时间需要 5 分钟。
信息来源于 DT大数据梦工厂微信公众账号:DT_Spark 1、Scala的函数定义 定义函数,需要给出函数的名称、参数和函数体,按照以下格式定义scala函数.
def 函数名称(函数输入参数类型): Unit{ //函数的实现提}
1.2 没有输入参数的函数
可以看到输出语句的结尾没有以“;”结束,因为scala的设计者认为, 多敲一次键盘没有必要,对开发者来说是痛苦的。 他不太赞成在语句的 结束写 “;” , 但你也可以写 “;” 结束.def doWhile() { var line = "" do { //readLine读取键盘输入的内容,再由println输出。 line = readLine() println("Read: " + line) } while (line != "") } def main(args: Array[String]) = { doWhile }
//dowhile循环先执行一次,在判断while的条件是否满足,如果没有输出则停止,否则一直继续下去。
1.3有输入参数的函数def looper(x: Long, y: Long): Long = { var a = x var b = y while (a != 0) { val temp = a a = b % a b = temp } b } def main(args: Array[String]) = { println(looper(100, 298)) } //然后运行这段代码,得到以下值: 2
/*参数x、y是Long类型,再由100赋值a,298赋值b,判断a是否不
等于0,不等于0,则进入循环体,a赋值给temp,a对b取模,再把 可以看出最后结果是2.*/ 2 流程控制2.1 if
def main(args: Array[String]) = { var file = "scala.txt" if (!args.isEmpty) { file = args(0) } println(file); //如果有输入值,赋值给file,否则默认输出"scala.txt". }
2.2 for
def main(args: Array[String]): Unit = { for (i <- 1.to(10)) { //从1到10循环输出。<-代表从1开始 println("Number is: " + i) } }
2.3 增强for
def main(args: Array[String]): Unit = { val files = (new java.io.File(".")).listFiles() for (file <- files) { //打印当前目录下的文件 println("当前路径下有文件 -> "+file) } }
3 异常处理
异常处理与Java类似,不同点在于catch是根据case类型匹配异常,def main(args: Array[String]): Unit = { val n = 99 try { val half = if (n % 2 == 0) n / 2 else throw new RuntimeException("N must be event") } catch { case e: Exception => println("The exception is:" + e.getMessage) } finally { } }
与case e匹配,输出The exeception is N must be event.
Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:百度云盘:
腾讯微云:
360云盘: 访问密码 45e2
转载地址:http://wrrub.baihongyu.com/