美文网首页
kotlin:标准函数之其他函数

kotlin:标准函数之其他函数

作者: Yapple | 来源:发表于2020-05-12 18:48 被阅读0次
上文讲了kotlin标准函数中的作用域函数(Scope Functions),本文将对剩下几个标准函数进行介绍

作用域函数(Scope Functions):https://www.jianshu.com/p/d8bb272de78c

TODO() 函数 & TODO(reason: String) 函数

该方法没什么可说的,就是抛出个异常,提示有操作没有完成。

takeIf函数

描述:论格式有点像作用域函数中的also函数,同样是开辟一块临时作用域执行一段代码,同样是通过参数"it"的形式引用被操作对象(lambda语法糖:lambda表达式只有一个参数时,可以不显示声明参数,该参数名默认为“it”),同样也是将被操作的对象返回。但不同的是lambda表达式的返回值为boolean类型,takeIf的返回值只有在lambda返回true的时候才会返回被操作对象,否则返回null。
格式:

val letResult = xiaoxin?.takeIf {
    it.name = "xiao xin"
    it.age = 18
    it.age <= 20
}?.run {
    println(name)
    println(age)
}

takeUnless函数

描述:从名字上就可以看出来,它的使用和takeIf是刚好相反的,takeIf是符合条件就返回对象(否则返回null),takeUnless则是符合条件返回null,不符合条件返回对象
格式:

val letResult = xiaoxin?.takeUnless {
    it.name = "xiao xin"
    it.age = 18
    it.age <= 20
}?.run {
    println(name)
    println(age)
}

repeat函数

描述:也是见名知意,它是用来做重复操作的。它接收两个参数,第一个是循环的次数,第二个是lambda表达式,概lambda函数便是被循环执行的操作。lambda接收一个Int类型参数(默认名为it),表示循环的下标(从0开始),返回值为Unit(没有返回值,可以理解为java中的void)。
格式:

var i = 0
repeat(10) {
    //需要循环执行的代码块
    i++
    println("第${it}次循环,i:$i")
}

相关文章

网友评论

      本文标题:kotlin:标准函数之其他函数

      本文链接:https://www.haomeiwen.com/subject/oslpnhtx.html