您的位置:首页 > 其它

60.Scala中隐式参数实战详解以及隐式参数在Spark中的应用源码解析

2017-10-03 22:51 369 查看
隐式参数:函数/方法中参数前有implicit关键字

//7
object Context_Implicits{
implicit val default : String = "Java"
}

object Param{

//这里有两个参数列表,属于柯里化
def print(content : String)(implicit language : String){ //编译器会把带有implicit的参数,作为缺省值/默认值提供给这个函数/方法
println(content + ":" + language)
}
}

object Implicit_Parameters_60 {
def main(args: Array[String]): Unit = {
Param.print("Spark")("Scala") //可以直接传入两个参数

import Context_Implicits._
Param.print("Hadoop") //也可以不填充第二个参数。编译器会从作用域/静态方法/静态val/object伴生对象中查找隐式参数,作为默认参数

}
}


参考资料来源于大数据梦工厂 深入浅出scala 第60讲 由王家林老师讲解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐