Scala(一):函数、流程控制、参数
发布时间:2020-12-16 09:01:16 所属栏目:安全 来源:网络整理
导读:Function:函数 函数的定义: def 函数名(参数):返回类型=函数实现体 eg:def abs(x:Long) : Long = if(x = 0) x else -x 你必须给出所有参数的类型。不过,只要函数不是递归的,你就不需要指定返回类型,。Scala编译器可以通过=符号右边的表达式的类型推断出
Function:函数 /** */ object Function { 参数 val s =sum(1,2,10,20)
流程控制:1.条件表达式:if Scala的if/else语法结构与Java一样。不过在Scala中if/else表达式有值,这个值就是跟在if或者else后面的表达式的值 eg:if(x>0) 1 else -1 在Scala中每个表达式都有值,如果没有值这个问题的解决方案就是引入Unit类,写作() eg:if(x>0) 1 else () 你可以把()当做是表示“无可用值”占位符,也就是Java中的void. 提示:从技术上讲Java中void没有值,但是Scala中Unit有一个表示"无值"的值2.循环:for、while、dowhile for循环:for (i<-表达式) 说明:在for循环的变量之前并没有val或者var的指定。该变量的类型是集合的元素类型。 增强for循环 for(i<-表达式;j<-表达式)使用多个变量<-表达式的形式提供多个生成器,用分号隔开 每个生成器都可以带一个守卫 eg:if(i<-1 to 3; j <- 1 to 3 if i!=j) for的推导式 如果for循环的循环体以yield开始,则该循环会构造出一个集合,每次迭代生成集合中的一个值 eg:for(i <- 1 to 10) yield i % 3 生成:Vertor(1,1,1) while循环:while(条件语句){循环体} dowhile循环在此不多做表述 循环变量的作用域一直持续到循环结束 说明:Scala中并没有提供break或者continue语句退出循环。那么如果需要break的时候我们怎么办呢?有如下选项: 1.使用Boolean型的控制变量 2.使用嵌套函数,你可以从函数中return 3.使用Breaks对象中的break方法提示:欢迎大家批评指正,一起交流,一起进步。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读