• Scala学习笔记(三)—— 方法和函数


    1. 方法

    方法使用 def 定义:

    def 方法名(参数名:参数列表,…) :返回值类型 = { 方法结构体 }

     1 scala> def add(x : Int ,y : Int):Int = x+y
     2 add: (x: Int, y: Int)Int
     3 
     4 // 返回值可以省略,Scala编译器可以通过值的类型推断出变量的类型
     5 scala> def subtract(x : Int,y : Double) = x-y
     6 subtract: (x: Int, y: Double)Double
     7 
     8 // 当返回值为空时,可以省略,也可以写为Unit,类似与Java的void
     9 scala> def printMulti(x : Int ,y :Int): Unit = println(x * y)
    10 printMulti: (x: Int, y: Int)Unit

    抽象方法

    1 abstract class Test{
    2 
    3   //  没有方法体的方法为抽象的,包含它的类型于是也是一个抽象类型
    4   def add(x : Int,y : Int)
    5 }

    ps:对于递归方法,必须指定返回类型

    2. 函数 

    Scala的函数是基于Function家族,0-22,一共23个Function Trait可以被使用,数字代表了Funtcion的入参个数

    1 // 函数的定义
    2 val add = new Function2[Int,Int,Int] {
    3     override def apply(x: Int, y: Int): Int = x+y
    4   }
    5 
    6 // 函数的定义简写
    7 val subtract = (x :Int,y:Int) => x-y

    方法转为函数:

    1 // 定义一个方法
    2 scala> def add(x:Int,y:Int) =x+y
    3 add: (x: Int, y: Int)Int
    4 
    5 // 将该方法转为函数
    6 scala> add _
    7 res9: (Int, Int) => Int = <function2>

    3. 方法和函数的区别 

    https://blog.csdn.net/u010839779/article/details/80849607

  • 相关阅读:
    Python学习笔记(十四)—hashlib模块
    Python学习笔记(十三)—函数常用模块
    Python学习笔记(十二)—函数
    PHP-代码执行
    CVE-2020-5902 F5 BIG-IP RCE复现
    sqli-Mysql写shell/读文件
    Mysql服务端反向读取客户端的任意文件
    PHP-AJAX
    PHP-XML
    googlehacking
  • 原文地址:https://www.cnblogs.com/lalala823581291/p/9846667.html
Copyright © 2020-2023  润新知