typeAliases 微信直播 Java程序员 elasticsearch datatable 品优购电商系统开发 java反射方法 pr序列设置哪个好 idea导入多个项目 idea中svn的使用 js原生点击事件 mac版的matlab好用吗 mysql分区表优劣分析 python正则 destoon模板 python配置 python随机整数 java连接数据库代码 java代码 怎么装linux系统 路由器有没有辐射 python队列 手机模拟器下载 电子书制作软件 陌陌电脑直播设置教程 p6软件 adobe卸载工具 流程图制作工具 平面设计软件下载 linux解压命令 流媒体下载 globalscape qq浏览器手机 3dmax布尔运算 pcmark10 人马上单天赋 python画散点图 电力猫怎么用 批处理 资源管理器在哪
当前位置: 首页 > 学习教程  > 编程语言

scala的至简原则

2021/4/19 23:17:46 文章标签:

1)至简原则细节 (1)return可以省略,Scala会使用函数体的最后一行代码作为返回值 (2)如果函数体只有一行代码,可以省略花括号 (3)返回值类型如果能够推断出来&#xff…

1)至简原则细节

(1)return可以省略,Scala会使用函数体的最后一行代码作为返回值

(2)如果函数体只有一行代码,可以省略花括号

(3)返回值类型如果能够推断出来,那么可以省略(:和返回值类型一起省略)

(4)如果有return,则不能省略返回值类型,必须指定

(5)如果函数明确声明unit,那么即使函数体中使用return关键字也不起作用

(6)Scala如果期望是无返回值类型,可以省略等号

(7)如果函数无参,但是声明了参数列表,那么调用时,小括号,可加可不加

(8)如果函数没有参数列表,那么小括号可以省略,调用时小括号必须省略

(9)如果不关心名称,只关心逻辑处理,那么函数名(def)可以省略

object TestFunction {

    def main(args: Array[String]): Unit = {

        // (0)函数标准写法
        def f( s : String ): String = {
            return s + " jinlian"
        }
        println(f("Hello"))

        // 至简原则:能省则省

        //(1) return可以省略,Scala会使用函数体的最后一行代码作为返回值
        def f1( s : String ): String =  {
            s + " jinlian"
        }
        println(f1("Hello"))

        //(2)如果函数体只有一行代码,可以省略花括号
        def f2(s:String):String = s + " jinlian"


        //(3)返回值类型如果能够推断出来,那么可以省略(:和返回值类型一起省略)
        def f3( s : String ) = s + " jinlian"
        println(f3("Hello3"))

        //(4)如果有return,则不能省略返回值类型,必须指定。
        def f4() :String = {
            return "ximenqing4"
        }
        println(f4())

        //(5)如果函数明确声明unit,那么即使函数体中使用return关键字也不起作用
        def f5(): Unit = {
            return "dalang5"
        }
        println(f5())

        //(6)Scala如果期望是无返回值类型,可以省略等号
        // 将无返回值的函数称之为过程
        def f6() {
            "dalang6"
        }
        println(f6())

        //(7)如果函数无参,但是声明了参数列表,那么调用时,小括号,可加可不加
        def f7() = "dalang7"
        println(f7())
        println(f7)

        //(8)如果函数没有参数列表,那么小括号可以省略,调用时小括号必须省略
        def f8 = "dalang"
        //println(f8())
        println(f8)

        //(9)如果不关心名称,只关心逻辑处理,那么函数名(def)可以省略
        def f9 = (x:String)=>{println("wusong")}

        def f10(f:String=>Unit) = {
            f("")
        }

        f10(f9)
        println(f10((x:String)=>{println("wusong")}))
    }
}

 


本文链接: http://www.dtmao.cc/news_show_942356.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?