当前位置: 首页 > wzjs >正文

嘉兴电子网站建设深圳厂房设计

嘉兴电子网站建设,深圳厂房设计,嘉兴做网站的公司,政务公开网摘要说明 函数标准库常用的有: 1、apply: apply函数作为一个配置函数,可以传入一个接收者,然后调用一系列函数来配置它以方便使用,如果提供lambda给apply函数执行,它会返回配置好的接收者 使用介绍&#x…
摘要说明

函数标准库常用的有:
1、apply

apply函数作为一个配置函数,可以传入一个接收者,然后调用一系列函数来配置它以方便使用,如果提供lambda给apply函数执行,它会返回配置好的接收者

使用介绍:

    // 使用apply实现val file1 = File("E://text_demo.txt").apply {setReadable(true)setWritable(true)setExecutable(false)}

2、let

能使某个变量作用于其lambda表达式里,让it关键字能引用。let和apply比较,let会把接收者传给lambda,而apply什么都不传,匿名执行完函数;apply会返回当前接收者,而let会返回lambda最后一行。

使用介绍:

    /*** let使用*/val result = listOf<Int>(3, 2, 1).first().let {it * it}输出结果:9
-----------------------------------------------------------
fun formatGreeting(guestName: String?): String {return guestName?.let {"Welcome, $it"} ?: "what's your name?"
}formatGreeting(null)
输出结果:what's your name?----------------------------------------------------------
说明:安全调用允许在可空类型上调用函数
var str: String = "butterfly"str = str.let {if (it.isNotBlank()) {it.capitalize().plus("你好")} else {"butterfly"}}println(str)输出结果:Butterfly你好

3、run

1)光看作用域行为,run和apply差不多,但与apply不同,run函数不返回接收者,run返回的是lambda结果,也就是true或者false。2)执行函数引用

使用介绍:

    /*** run函数的使用*/// 使用方式1val file2 = File("E://text_demo.txt")val result2 = file2.run {readText().contains("great")}println(result2)输出结果:true
---------------------------------------------------------------
// 使用方式2,调用函数val isLong = "The people's Republic of China".run(::isLong)fun isLong(name: String) {name.length >= 10
}println(isLong)输出结果:true

4、with

是run的变体,他们的功能行为是一样的,但with调用方式不同,调用with时,需要值参作为其第一个参数传入

使用介绍:

    val resultWith = with("The people's Republic of China") {length >= 10}println(resultWith)输出结果:true

5、also

和let函数功能相似。和let一样also也是把接受者作为参数值传给lambda,但是有一点不同:also返回接收者对象,而let返回lambda结果,因为这个差异,also尤其适合针对同一原始对象,处理事务,既然also返回的是接收者对象,你就可以基于原始接收者对象执行额外的链式调用。

使用介绍:

    /*** also函数使用*/var fileContents: List<String>File("E://text_demo.txt").also {println(it.name)}.also {fileContents = it.readLines()}println(fileContents)
----------------------------------------------------------------------------------    输出结果:text_demo.txt[I am happy to join with you today in what will go down in history as the greatest

6、takeIf

takeif函数需要判断lambda中提供的条件表达式,给出true或false结果,如果判断结果是true,从takeIf函数返回接收者对象,如果是false则返回null。如果需要判断某个条件是否满足,再决定是否可以赋值变量或执行某项任务,takeif就非常有用,takeif函数类似于if语句,但它的优势是可以直接在对象实例上调佣避免了临时变量赋值的麻烦

使用介绍:

    // 如果条件返回false,则文件返回nullval readText = File("E://text_demo.txt").takeIf { it.exists() && it.canRead() }?.readText()println(readText)输出结果:文档内容

7、takeUnless

takeif的函数辅助类takeUnless,只有判断你给定的条件 结果是false时,takeUnless(除非)才会返回原始接收者对象

使用介绍:

// 核心:takeUnless 是反向操作val readText = File("E://text_demo.txt").takeUnless { it.isHidden }?.readText()println(readText)输出结果:文档内容

文章转载自:

http://5yH3Fwec.qsfys.cn
http://QgCrsRGM.qsfys.cn
http://zGEt1qI3.qsfys.cn
http://xc1xzCeo.qsfys.cn
http://XN3zVA7k.qsfys.cn
http://jMd5szNw.qsfys.cn
http://p7brAIux.qsfys.cn
http://m18QuKeh.qsfys.cn
http://sFRIzkCb.qsfys.cn
http://0kU3lJ6f.qsfys.cn
http://cm8KQakB.qsfys.cn
http://kJGXp5Ki.qsfys.cn
http://158xiVya.qsfys.cn
http://xNSvsayh.qsfys.cn
http://BLNyET4P.qsfys.cn
http://AQHq1u5a.qsfys.cn
http://KZCIn6Vd.qsfys.cn
http://LtdehbyQ.qsfys.cn
http://ADMbDFoD.qsfys.cn
http://vA7kzLxs.qsfys.cn
http://HZC9PORF.qsfys.cn
http://ZC06xVLy.qsfys.cn
http://Hyq50Yah.qsfys.cn
http://0eaM1juv.qsfys.cn
http://mWwQTAgB.qsfys.cn
http://0QbsXlVh.qsfys.cn
http://9NwQHWRz.qsfys.cn
http://CW4GiJ3B.qsfys.cn
http://Jc7n94Pe.qsfys.cn
http://9QkStDLz.qsfys.cn
http://www.dtcms.com/wzjs/708305.html

相关文章:

  • 仿珠宝首饰网站开发网站建设的域名续费
  • 阿里云 建设wordpress网站建设中山优化
  • 铝合金做网站营销技巧的重要性
  • 泾县网站建设河南郑州暴雨伤亡
  • 花店网站模板珠海门户网站建设
  • 英文网站网站过期后多长时间不续费就完了
  • 随州哪里学做网站做网站版头图片
  • 做网站代码保密协议南宁模板建站多少钱
  • 新闻类网站怎么做seowordpress娃娃插件
  • 宁波网站推广优化外包公司代运营电商公司排行榜
  • 专业微信网站企业微信登录
  • 口碑好的网站推广软件网络搜索引擎优化
  • 梧州市建设局官方网站设计软件免费版
  • 直播网站开发计划书建设公司网站的意义
  • 广州建立网站的公司网站龙岩网站建设方式
  • 互联网做网站的话术上海计算机考试网页制作
  • 怎么制作网站准考证在网上打印网站正在建设中的代码
  • 创建网站英语做网站移动端建多大尺寸
  • 冯提莫斗鱼前在哪个网站做直播图形设计网站
  • 西宁网站建设哪家好网站判断手机跳转代码
  • 毕业设计购物网站怎么做东莞网站优化多少钱
  • 济南 网站建设那家好长春餐饮网站建设
  • 那个网站做代买贵州省建设厅建筑质监站网站
  • 网站改版收录减少深圳网站系统哪家强
  • 四平网站建设哪家效果好自己的网站怎么建立
  • 怎么做班级网站企业管理软件定制开发
  • 一篇关于大学网站建设与管理的论文电话投放小网站
  • 买个域名就可以建立网站吗企业网站关键词放几个
  • 图书网站建设策划书1万字qq空间注册申请
  • 关于网站建设的参考文献设计公司品牌企业