/*普通函数使用*/
var a =(a:String,b:String)=>println(a+b);
a("你好","python")
-----------------------------------------------------
/*匿名函数创建使用*/
((a:String,b:String)=>println(a+b))("hello","java")
-----------------------------------------------------
/*高阶函数创建使用*/
/*第一个参数是函数类型*/
def k (fun:(String)=>Unit,a:String){
fun(a)
}
/*创建一个普通函数*/
var b = (a:String)=>println(a)
/*使用*/
k(b,"小红")
-------------------------------------------------
val list = List(1,2,3,4,5)
println(list.filter(x=> x<2))
println(list.filter(_>2))
println(list.map(x=>x+1))
println(list.map(_+1))
--------------------------------------------------
/*将函数作为返回值的函数也是高阶函数*/
/*第一次返回是函数第二次是结果*/
def fun(name:String)=(kk:String)=>println(name+kk)
/*使用以后返回函数*/
val xx = fun("hello")
/*最终结果*/
xx("小红")
--------------------------------------------
/*柯里化*/
def add(x:Int)(y:Int): Unit ={
println(x+y)
}
add(1)(2)
------------------------------------------
/*定义增强类用于应用*/
class RichFile(val file:File) {
def read = {
println("隐式转换")
}
}
object Scalatest{
/*
implicit是隐式转换的关键字
*/
implicit def file(file:File) = new RichFile(file)
}
object He{
def main(args: Array[String]): Unit = {
//导入隐式转换
import Scalatest.file
new File("").read
}
Scala函数
最新推荐文章于 2024-12-08 22:18:35 发布