zoukankan      html  css  js  c++  java
  • scala methods

    https://cloud.tencent.com/developer/article/1793531

    方法使用陷阱:

    • 1.return可以省略,Scala会使用函数体的最后一行代码作为返回值
    • 2.如果函数体只有一行代码,可以省略花括号
    • 3.返回值类型如果能够推断出来,那么可以省略(:和返回值类型一起省略)
    • 4.如果有return,则不能省略返回值类型,必须指定
    • 5.如果函数明确声明unit,那么即使函数体中使用return关键字也不起作用
    • 6.Scala如果期望是无返回值类型,可以省略等号 这种形式称为过程
    • 7.如果函数无参,但是声明了参数列表,那么调用时,小括号,可加可不加
    • 8.如果函数没有参数列表,那么小括号可以省略,调用时小括号必须省略
    • 9.如果不关心名称,只关心逻辑处理,那么函数名(def)可以省略

    code 

    package 方法和函数.方法
    
    object Method_1 {
    
      def main(args: Array[String]): Unit = {
    
        //(9)如果不关心名称,只关心逻辑处理,那么函数名(def)可以省略
        // 1.扩展f9的功能   2.具体扩展的功能是通过fun函数传递,很灵活
        def f9(fun:(String)=>Unit): Unit ={
          fun("fun 被执行.......")
          println("f9() 被执行.....")
        }
        def f10(str : String ):Unit= println("str f10 被调用......")
        f9(f10)
    
        def fun(value : Int ):Int = {
          println("value:="+value)
          value
        }
    
        def fun1(x:Int ,y : Int ):Int ={
          println("x+y="+(x+y))
          x+y
        }
    
        println(fun(fun1(1,2)))
    
        f9((s:String)=>{println(s)})
        f9((s)=>{println(s)})
        f9((s)=>{println(s)})
        f9(s =>{println(s)})
        f9(s =>println(s))
        f9(println(_))
    
        def f11(fun:(Int,Int)=>Int):Double={
          fun(3,2)
        }
    
        println(f11(_ + _))
        println(f11(_ - _))
        println(f11(_ * _))
        println(f11(_ / _))
        println(f11(_ % _))
        println(f11(_))
    
    
    
    
      }
    
    
    
    }
    

      

  • 相关阅读:
    【BZOJ 2120】 数颜色
    【BZOJ 1878】 HH的项链
    【BZOJ 2038】小Z的袜子
    【BZOJ 2724】 蒲公英
    【POJ 2482】 Stars in Your Windows
    【POJ 2182】Lost Cows
    __align(num) 分析
    C# 获取图片某像素点RGB565值
    基于OpenCV的火焰检测(三)——HSI颜色判据
    基于OpenCV的火焰检测(一)——图像预处理
  • 原文地址:https://www.cnblogs.com/linbo3168/p/15680072.html
Copyright © 2011-2022 走看看