• 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(_))
    
    
    
    
      }
    
    
    
    }
    

      

  • 相关阅读:
    P3916 图的遍历 dfs
    P4568 [JLOI2011]飞行路线 分层图最短路
    P1948 [USACO08JAN]电话线Telephone Lines spfa 二分答案
    P1849 [USACO12MAR]拖拉机Tractor bfs
    P1730 最小密度路径 floyed
    P1661 扩散 二分答案 并查集
    使用unittest和Django搭配写一个接口测试平台
    AJAX解决跨域的几种方式
    Django
    基于pytest框架自动化测试脚本的编写
  • 原文地址:https://www.cnblogs.com/linbo3168/p/15680072.html
Copyright © 2020-2023  润新知