kotlin笔记

高阶函数

参数类型至少有一个是函数类型(包含lamda和匿名)、或返回值是函数类型的函数

// 定义一个高阶函数,它返回一个函数类型 (Int) -> Int
fun createMultiplier(factor: Int): (Int) -> Int {
    // 返回一个 lambda,捕获 factor
    return { x -> x * factor }
}

fun main() {
    val times3 = createMultiplier(3)   // times3 是一个函数 (Int) -> Int
    val times5 = createMultiplier(5)

    println(times3(10))  // 输出 30
    println(times5(10))  // 输出 50
}
/ 接收一个转换函数,返回一个新的转换函数(组合)
fun combine(transform: (Int) -> Int): (Int) -> Int {
    return { x -> transform(x) + 1 }
}

fun main() {
    val square: (Int) -> Int = { it * it }
    val combined = combine(square)
    println(combined(5)) // 5*5 + 1 = 26
}

有关内联函数


image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • kotlin优势简洁(data class自带get set equals hashCode toString c...
    紫鹰阅读 327评论 0 1
  • Kotlin笔记 要理解Java与Kotlin的区别,就要从最根本的上来理解。Java是解释型语言(边解释成二进制...
    FFFSnow阅读 1,181评论 0 0
  • 一、Kotlin基础 1.1 变量 在Kotlin中变量分为可变引用var和不可变引用val,val对应的是jav...
    东方未曦阅读 612评论 0 1
  • a === b 当且仅当 a 和 b 指向同一个对象时求值为 true。 如果为语句加上双感叹号:!! 那么则表示...
    麦兜叮叮当阅读 460评论 0 1
  • 关键字 var val var name = "张三" name = "李四" //true name = 1/...
    SlideException阅读 472评论 0 0

友情链接更多精彩内容