11 2023 档案
摘要:一、泛型函数 如下是泛型函数的一种构造 在fun函数标记的右边增加该函数要使用的类型形参 fun <T> List<T>.slice(indices: IntArray): List<T> { val ret = mutableListOf<T>() for (v in indices) { ret
阅读全文
摘要:一、lambda表达式是否可以使用return 1、非内联函数的lambda表达式中使用return是不被允许 2、内联函数是允许使用return,它会从调用该lambda的函数中返回 fun lookForAlice(people: List<String>) { people.forEach {
阅读全文
摘要:一、当函数被声明为内联函数(函数的前缀增加inline),那么函数体会被直接替换到函数被声明的地方,而不是被正常的调用。如下的代码 inline fun synchronized(lock: Lock, action: () -> Unit) { lock.lock() try { return a
阅读全文
摘要:一、定义:以另一个函数作为参数或者返回值的函数 1、kotlin中,函数以lambda或者函数引用来表示 二、函数类型 1、如下是函数的类型 上述声明了函数的类型,括号内包含了该函数类型需要传入的参数类型,紧接着箭头,最后是返回的类型(在声明函数类型时候,返回类型即使是Unit也不可以省略) 2、函
阅读全文
摘要:一、二元运算符的重载 1、常见的运算符有:加、减、乘、除、求余;我们要重载这些运算符的操作 这里以加法重载运算符为例 data class Point(val x: Int, val y: Int) { operator fun plus(other: Point): Point { return
阅读全文
摘要:一、lambda表达式的格式 这里介绍该表达式的几个用法 data class Person(val name: String, val age: Int) val peoples = listOf(Person("aa", 29), Person("bb", 30)) println(people
阅读全文