首页 > 其他 > 详细

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

时间:2018-10-24 23:14:09      阅读:172      评论:0      收藏:0      [点我收藏+]

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

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

原文:https://www.cnblogs.com/lalala823581291/p/9846667.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!