Scala implicit 定义:
隐式转换函数是指在同一个作用域下面,一个给定输入类型并自动转换为指定返回类型的函数,这个函数和函数名字无关,和入参名字无关,只和入参类型以及返回类型有关。注意是同一个作用域。
隐式转换的通俗理解就是:在一个作用域内,将参数转换成因是函数得到的结果。
Scala implicit 举例:
object PlayDemo extends App{
implicit def typeConvertor(input:Int):String = input.toString
implicit def typeConvertor(input:Boolean):String = if(input) "true1" else "false2"
implicit def typeConvertor():String = ""
def display(input:String):Unit = println(input)
def display2(in:String) = println(in)
println(true)
display("1212")
display(12)
display(true)
display2(12)
}
得到输出结果:
true
1212
12
true1
12
1212
12
true1
12
得出结论:
隐式转换所在的作用域,会作用到每一个函数。