本文主要是介绍scala自学之路-37-高阶函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 参数是函数
- 返回值是函数
- 参数和返回值都是函数
object HFunctionDemo extends App {
//传入的参数是函数
private val array = Array(1, 2, 3)
val fun = (x: Int) => x * 2
val res = array.map(fun)
println(res.toBuffer)
//传入匿名函数
val res1 = array.map((x: Int) => x * 2)
println(res1.toBuffer)
val res2 = array.map(_ * 2)
println(res2.toBuffer)
//返回值是函数
def urlBuild(ss1: Boolean, domainName: String): (String, String) =>
String = {
val schema = if (ss1) "https://" else "http://"
(endPoint: String, query: String) => s"$schema$domainName/$endPoint?$query"
}
private val function: (String, String) => String = urlBuild(true, "baidu.com")
private val str: String = function("query", "name=1")
println(str)
}
这篇关于scala自学之路-37-高阶函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!