0
点赞
收藏
分享

微信扫一扫

scala 隐式值和隐式参数组合代码示例


普通方法或者函数中的参数可以通过 implicit 关键字声明为隐式参数,调用该方法时,就可以传入该参数,编译器会在相应的作用域寻找符合条件的隐式值。

1)说明
(1)同一个作用域中,相同类型的隐式值只能有一个
(2)编译器按照隐式参数的类型去寻找对应类型的隐式值,与隐式值的名称无关。
(3)隐式参数优先于默认参数
2)案例实操
​​​str​​​是隐式值
​​​arg​​​是隐式参数
​​​这两者是组合使用的​

object TestImplicitParameter {
implicit val str: String = "hello world!"
def hello(implicit arg: String="good bey world!"): Unit = {
println(arg)
}
def main(args: Array[String]): Unit = {
// hello() //good bey world!
hello //hello world!
}
}

运行结果:

scala 隐式值和隐式参数组合代码示例_后端


举报

相关推荐

0 条评论