这门课不是从零教你 Kotlin 语法,而是直接切入 Kotlin 里最容易被新手绕晕、又最影响日常写码效率的部分:函数式编程。如果你已经在用 Kotlin 写 Android 或后端,但看到 map、filter、let、apply 这类写法总是一知半解,或者自己写代码时只会用最笨的 for 循环和临时变量,那么这门课就是帮你把这块短板补上的。

这门课解决什么问题

Kotlin 的官方文档和很多教程都会讲 Lambda、高阶函数,但往往只是列语法,不解释「为什么这么写」。这门课用「师傅带徒弟」的方式,把函数式编程的底层概念和实际场景串起来。它解决的核心问题是:让你从「能读明白别人的函数式代码」变成「自己也能自然地写出简洁、无副作用的 Kotlin 代码」。

具体来说,课程覆盖了三个层次。第一层是函数式编程的基石:函数类型、函数字面量、Lambda 表达式的标准语法和简化写法,以及闭包和变量捕获。这些是理解 Kotlin 标准库中大量 API 的前提。第二层是 Kotlin 特有的内联函数和几个常用的作用域函数——let、with、apply,它们能显著减少样板代码,但如果不理解背后的原理,很容易用错。第三层是泛型,包括泛型函数、泛型属性和泛型类,这部分和函数式编程结合紧密,因为高阶函数通常需要泛型来保持类型安全。

适合什么基础,建议先看哪几块

这门课适合已经掌握了 Kotlin 基础语法(变量、类、基本控制流)的学习者。如果你连基本函数怎么定义、接口怎么实现都不熟,建议先补一下基础再来看。如果你是初学者,但已经写过一些简单 Kotlin 代码,也可以直接看,只是遇到不理解的概念时可能需要停下来查一下。

建议的观看顺序是:先完整看完第一部分「函数式编程基石」的前几节,尤其是函数类型、函数字面量、Lambda 标准语法和简化写法。这几节是后面所有内容的地基。如果你时间紧,可以先跳过「自定义内联函数」和「闭包与捕获变量」的细节,但一定要看 let、with、apply 这三节,因为它们在实际开发中太常用了。第二部分泛型可以放在最后,因为它相对独立,但如果你已经能熟练写 Lambda,再看泛型会更容易理解。

学完能独立做什么,资料怎么配合练习

学完这门课,你能独立完成这些事:看到 Kotlin 代码里的 map、flatMap、filter 能立刻明白它的逻辑;自己写工具函数时,能设计出接受函数参数的高阶函数;能用 let 处理可空对象链式调用,用 apply 简洁地初始化对象,用 with 对同一对象做多次操作;还能写出带泛型约束的函数,让代码既复用又安全。

资料配合练习的方法很简单:不要只看视频。每学完一节,立刻打开你的 IDE,照着例子敲一遍,然后改一改。比如学完 Lambda 简化写法,把课程里的示例换成你自己的数据;学完 apply,试着用它替换掉你项目里一段原本用临时变量赋值的代码。视频里的时长看起来很细,但实际上每节都是一个知识点,建议以「能不看视频独立写出同类型代码」作为通过标准。如果某节听不懂,不要反复看,先跳到下一节,很多概念会在后面被再次用到,回看时反而更清晰。最后把泛型部分和函数式编程结合起来,试着写一个带泛型的高阶函数,比如一个通用的列表转换函数,这样才算真正把知识消化了。

课程目录

课程目录31 集
  • 1-1 [函数式编程基石——高阶函数和Lambda表达式] 14.1 函数式编程简介 (09:19).mp4
  • 1-2 [函数式编程基石——高阶函数和Lambda表达式] 14.2.1 函数类型 (05:19).mp4
  • 1-3 [函数式编程基石——高阶函数和Lambda表达式] 14.2.2 函数字面量 (08:57).mp4
  • 1-4 [函数式编程基石——高阶函数和Lambda表达式] 14.2.3 函数作为另一个函数返回值使用 (06:10).mp4
  • 1-5 [函数式编程基石——高阶函数和Lambda表达式] 14.2.4 函数作为参数使用 (04:19).mp4
  • 1-6 [函数式编程基石——高阶函数和Lambda表达式] 14.3.1 Lambda表达式标准语法格式 (06:21).mp4
  • 1-7 [函数式编程基石——高阶函数和Lambda表达式] 14.3.2 使用Lambda表达式 (04:29).mp4
  • 1-8 [函数式编程基石——高阶函数和Lambda表达式] 14.3.3 Lambda表达式简化写法 (13:26).mp4
  • 1-9 [函数式编程基石——高阶函数和Lambda表达式] 14.3.4 Lambda表达式与return语句 (08:16).mp4
  • 1-10 [函数式编程基石——高阶函数和Lambda表达式] 14.4 闭包与捕获变量 (08:26).mp4
  • 1-11 [函数式编程基石——高阶函数和Lambda表达式] 14.5.1 自定义内联函数 (05:54).mp4
  • 1-12 [函数式编程基石——高阶函数和Lambda表达式] 14.5.2 使用let函数 (06:08).mp4
  • 1-13 [函数式编程基石——高阶函数和Lambda表达式] 14.5.3 使用with和apply函数 (06:00).mp4
  • 2-1 [泛型] 15.1 泛型函数 (21:29).mp4
  • 2-2 [泛型] 15.2 泛型属性 (06:24).mp4
  • 2-3 [泛型] 15.3 泛型类 (09:09).mp4
  • 2-4 [泛型] 15.4 泛型接口 (05:19).mp4
  • 3-1 [数据容器——数组和集合] 16.1 数组 (21:43).mp4
  • 3-2 [数据容器——数组和集合] 16.2 集合概述 (04:19).mp4
  • 3-3 [数据容器——数组和集合] 16.3 Set集合 (18:00).mp4
  • 3-4 [数据容器——数组和集合] 16.4 List集合 (17:04).mp4
  • 3-5 [数据容器——数组和集合] 16.5 Map集合 (21:47).mp4
  • 4-1 [Kotlin中函数式编程API] 17.1 函数式编程API与链式调用 (05:17).mp4
  • 4-2 [Kotlin中函数式编程API] 17.2 遍历操作 (10:11).mp4
  • 4-3 [Kotlin中函数式编程API] 17.3 三大基础函数 (13:53).mp4
  • 4-4 [Kotlin中函数式编程API] 17.4 聚合函数 (10:51).mp4
  • 4-5 [Kotlin中函数式编程API] 17.5 过滤函数 (13:17).mp4
  • 4-6 [Kotlin中函数式编程API] 17.6 映射函数 (09:35).mp4
  • 4-7 [Kotlin中函数式编程API] 17.7 排序函数 (05:21).mp4
  • 4-8 [Kotlin中函数式编程API] 17.8 案例:求阶乘 (04:57).mp4
  • 4-9 [Kotlin中函数式编程API] 17.9 案例:计算水仙花数 (07:43).mp4