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

哪有网站给光头强做面爱站网影视排行榜

哪有网站给光头强做面,爱站网影视排行榜,山东网站建设优化技术,公司网站开发详细流程在使用Kotlin的过程中会经常用到其内置函数#xff0c;包括apply#xff0c;let#xff0c;run#xff0c;with#xff0c;also#xff0c;takeIf,takeUnless函数等#xff0c;想要更好熟悉Kotlin#xff0c;这些函数必须烂熟于心#xff0c;接下来让我们来逐步了解包括applyletrunwithalsotakeIf,takeUnless函数等想要更好熟悉Kotlin这些函数必须烂熟于心接下来让我们来逐步了解 apply函数 apply函数属于内联扩展函数其扩展了所有的泛型对象在闭包范围内可以任意调用该对象的任意方法并在最后返回该对象。也许看到这里你并没有太了解接下来让我们从简单代码入手 fun main(){val tips Hello this worldprintln(tips的字符串长度为${tips.length})println(tips的最后一个字符为${tips[tips.length-1]})println(tips全部置换大小写${tips.lowercase()}) }这段函数很简单定义一个字符串然后分别打印对应输出结果为 我们加入apply函数一般情况下匿名函数都会持有一个it但是apply函数没有持有it而是持有当前this在这里this tips本身。我们在原函数中加入对this的引用逻辑例如以下 fun main(){val tips Hello this worldprintln(tips的字符串长度为${tips.length})println(tips的最后一个字符为${tips[tips.length-1]})println(tips全部置换大小写${tips.lowercase()})tips.apply { println(this)} }对应的打印为 可见最后打印的this即是tips本身而在apply中this又可以省略我们修改打印到对应的apply函数中则原代码变为以下 fun main(){val tips Hello this worldprintln(tips的字符串长度为${tips.length})println(tips的最后一个字符为${tips[tips.length-1]})println(tips全部置换大小写${tips.lowercase()})println(---------------------------------------)tips.apply {println(this)println(tips的字符串长度为${length})println(tips的最后一个字符为${this[length-1]}) //这里最外面的this不能省Collection literals outside of annotationsprintln(tips全部置换大小写${this.lowercase()})} }其对应输出结果为 这些不难理解所以这里我们可以说apply函数扩展的是其对象同时还能返回生成此对象。那么问题来了我要这函数有何用一个语言不可能白设计一个没有作用的函数。比如我们通常声明一个文件还要同时声明此文件一些特点时 val file File(C:\\HelloWorld.java) file.setReadable(true) file.setReadOnly()这样修改为 val file File(C:\\HelloWorld.java) file.apply { setReadable(true) }.apply { setReadOnly() }由于apply函数能返回原对象所以也支持链式调用。以上代码在功能作用上完全等价。 let函数 属于匿名函数类型提供了函数式API的编程接口将原始对象作为参数传递到表达Lamba表达式中在闭包范围内用it指代原对象我们还是通过实例来加深理解先来一段简单函数 val list listOf(1, 2, 3, 4, 5, 6) val first list.first() println(firstfirst)代码不难理解可预见输出结果为 再用let函数形式编写如下 val result listOf(1, 2, 3, 4, 5, 6).let {it.first()it.first() } println(let结果为$result)对应输出结果为 可见let函数所返回的对象是在函数中运行完的对象即let函数的返回类型是根据匿名函数最后一行的变化而变化的这是跟apply函数的一个区别apply函数返回的永远是函数本身。例如我们添加些apply的代码如下 fun main(){val result listOf(1, 2, 3, 4, 5, 6).let {it.first()it.first()}val result2 listOf(1, 2, 3, 4, 5, 6).apply {this.first()this.first()}println(let结果为$result)println(apply结果为$result2) }对应输出结果为 总结 在这里我们对两个函数总结一下 apply 1、函数返回的类型都是原泛型对象本身 2、函数内部持有的是this原对象本身。 Let 1、let函数所返回的对象是在函数中运行完的对象即let函数的返回类型是根据匿名函数最后一行的变化而变化的 2、函数内部持有的是it。
http://www.pierceye.com/news/707288/

相关文章:

  • 内外外贸购物网站建设网站顶部下拉广告
  • 深圳企业网站建设服务平台销售推广语
  • 做网站要什么资料百度网盘登录
  • 聚牛网站建设公司北京seo优化推广
  • 成都网站公司网站建设东莞大岭山电子厂
  • python建立简易网站网站界面设计的分类有哪几种
  • 网络规划师考哪些内容优化设计卷子答案
  • 邢台网站关键词优化wordpress弹窗下载
  • 晋城市企业网站腾讯qq官网登录入口
  • 怎么给网站在百度地图上做爬虫一家专门做灯的网站
  • 河南焦作有做网站开发的公司吗xampp安装wordpress
  • python购物网站开发流程图win淘宝客wordpress主题模板
  • 江苏省建设执业网站个人做淘宝客网站有哪些
  • 浙江省建设厅门户网站咨询公司是干什么的
  • 哪个网站上可以做初中数学题wordpress 网校插件
  • html写手机网站制作网页用什么语言
  • 一站式网站建设价格百度网站
  • 招商网站建设多少钱企业形象墙
  • 医疗设备响应式网站免费素材库
  • 服务器如何搭建php网站网页美工设计从入门到精通
  • 淘宝的网站建设情况做企业平台的网站有哪些
  • 深圳网站建设公司设计公司做网站排名有用吗
  • 企业营销型网站建设厂家 天堂资源地址在线官网
  • 编写这个网站模板要多少钱便宜做网站公司
  • asp企业网站源码下载网页制作基础教程田田田田田田田田
  • 网站标题title怎么写网站建设建设公司有哪些
  • 辽宁移动网站网站域名注册费用
  • 深圳建网站兴田德润专业电商店铺首页设计
  • 网站推广的工作内容芜湖做网站的客户
  • 求一些做里番的网站wordpress新闻快讯插件