天天看点

Kotlin高阶函数概念

一、高阶函数的基本概念

1.传入或者返回函数的函数(传入是函数,返回也是函数)

2.函数引用最常见的方式,”:: println”

3.带有接收者Receiver的引用pdfPrinter::println

二、看一下入门的例子

package net.println.kotlin.chapter5.basics

/**
 * @author:wangdong
 * @description:kotlin的高阶函数
 */
/**
 * 类名::方法,就可以拿到方法的引用了
 */
fun main(args: Array<String>) {
    //第一种:高阶函数
    //函数引用::
    args.forEach(::println)

    //第二种:类名引用函数
    //引用hello方法
    val helloWorld = Hello::world
    //过滤空字符串,保留非空的字符串
    args.filter(String::isNotEmpty)

    //第三种:调用者(实例)引用函数
    //构造一个实例,用实例去调用方法,打印pdf
    val pdfPrinter = PdfPrinter()
    args.forEach(pdfPrinter::println)
}

/**类成员的例子*/
class Hello{
    //定义一个方法
    fun world(){
        println("Hello World")
    }
}

/**定义一个pdf的打印语句类*/
class PdfPrinter{
    fun println(any: Any){
        kotlin.io.println(any)
    }
}