def ji(n: Int): Int ={if(n ==1)1else n *ji(n -1)}println(ji(5))
二、指定参数名传参
def Test1(name:String,age:Int):Unit={println("姓名:"+name+",年龄"+age)}Test1(age =14, name ="tom")
三、匿名函数改名
val abc:(Int, Int)=> Int =(a, b)=> a + b
val bca = abc
println(bca(3,5))
四、函数作为参数传递
def Test(num1: Int, num2: Int, fun:(Int, Int)=> Int):(Int, Int)=> Int ={if(fun(num1, num2)%2==0)(a, b)=> a + b
else(a, b)=> a - b
}println(Test(12,21,(a, b)=> a * b)(45,76))
五、隐式函数
package cn.kgc.kb11
object Impliciteg {//隐式方法的定义
implicit def stringToInt(value: String): Int = Integer.parseInt(value)
implicit def doubleToInt(value: Double): Int = value.toInt
implicit def floatToInt(value: Float): Int = value.toInt
implicit val num: Int =10
implicit val name: String ="green"
implicit def intToString(value: Int): String ={println("传入的数据是:"+ value)
value.toString +"hehe:haha"}
implicit class NumOperation(demo: Demo1){
def sum(a: Int, b: Int): Int ={println("a value"+ a)println("b value"+ b)
a + b
}
def ji(a: Int, b: Int): Int ={
a * b
}}}
package cn.kgc.kb11
import cn.kgc.kb11.Impliciteg._
class Demo1{}
object Demo1 {
def main(args: Array[String]): Unit ={
val demo1 =new Demo1
val result = demo1.sum(3,4)
val result1 = demo1.ji(5,6)println(result)
val a: Int ="3"
val b: Int =5.5
val c: Int =3.4f
val d:String =456println(d)//调用方法的时候,传参 > 隐式值 > 默认值// implicit val num1:Int=11//三个传参
implicit val num: Int =12
def sum(a: Int)(implicit b: Int =5,name:String): Int ={println(name)
a + b
}println(sum(20)(10,"tom"))}}