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

芜湖做网站的客户成都网站建设创新互联

芜湖做网站的客户,成都网站建设创新互联,南京建设项目环评公示期网站,福州网站设计网站系统制作一、let 扩展函数 Kotlin标准库函数let可用于范围确定和空检查。当调用对象时,let执行给定的代码块并返回其最后一个表达式的结果。对象可以通过引用(默认情况下)或自定义名称在块中访问。 let扩展函数源码 let.kt文件代码 fun main() {println("isEmpty $is…

一、let 扩展函数

Kotlin标准库函数let可用于范围确定和空检查。当调用对象时,let执行给定的代码块并返回其最后一个表达式的结果。对象可以通过引用(默认情况下)或自定义名称在块中访问。

let扩展函数源码
在这里插入图片描述

let.kt文件代码


fun main() {println("isEmpty = $isEmpty")printNonNull(null)printNonNull("my string")printIfBothNonNull("First","Second")//下面是运行结果//test//isEmpty = false//Printing "null"://Printing "my string"://	my string////First : Second}val isEmpty = "test".let {println(it)               // 2it.isEmpty()
}fun printNonNull(str:String?){println("Printing \"$str\":")str?.let {print("\t")println(it)println()}
}fun printIfBothNonNull(strOne: String?, strTwo: String?) {strOne?.let { firstString ->strTwo?.let { secondString ->println("$firstString : $secondString")println()}}
}

运行结果
在这里插入图片描述

二、run 扩展函数

与let类似,run是标准库中的另一个作用域函数。基本上,它做同样的事情:执行一个代码块并返回其结果。
不同的是,在内部运行对象是通过this访问的。当您想要调用对象的方法而不是将其作为参数传递时,这是很有用的。

run扩展函数源码
在这里插入图片描述

run.kt文件代码

fun getNullableLength(ns: String?) {println("for \"$ns\":")val resutl = ns?.run {println("\tis empty? " + isEmpty())println("\tlength = $length")length}//返回最后一行println("resutl = $resutl")
}fun main(){getNullableLength(null)getNullableLength("")getNullableLength("some string with Kotlin")//下面是运行结果//for "null"://resutl = null//for ""://	is empty? true//	length = 0//resutl = 0//for "some string with Kotlin"://	is empty? false//	length = 23//resutl = 23}

运行结果
在这里插入图片描述

三、with函数

With是一个非扩展函数,可以简洁地访问其参数的成员:在引用其成员时,可以省略实例名。

with函数源码
在这里插入图片描述

with.kt文件代码

fun main() {val personal = Personal("test", 20)val withResult = with(personal) {println("name = $name")println("age = $age")2122}println("withResult = $withResult")//name = test//age = 20//withResult = 22
}class Personal(var name: String, var age: Int)

运行结果
在这里插入图片描述

四、apply扩展函数

apply在对象上执行代码块并返回对象本身。在块内部,对象被this引用。这个函数对于初始化对象很方便。

在实际项目用来显示列表数据的RecyclerView.Adapter里onBindViewHolder方法里使用apply或with函数较多

apply扩展函数源码
在这里插入图片描述

apply.kt文件代码

fun main() {val jake = Person()val stringDescription = jake.apply {name = "Jake"age = 30about = "Android developer"}.toString()println("stringDescription  = $stringDescription")//stringDescription  = Person(name=Jake, age=30, about=Android developer)}class Person() {var name: String? = nullvar age: Int = 20var about: String? = nulloverride fun toString(): String {return "Person(name=$name, age=$age, about=$about)"}
}

运行结果
在这里插入图片描述

五、also扩展函数

它也像apply一样工作:它执行一个给定的块并返回被调用的对象。在块内部,对象被它引用,所以它更容易作为参数传递。这个函数可以方便地嵌入其他操作,比如在调用链中登录。

also扩展函数源码
在这里插入图片描述

also.kt文件代码

fun main() {val jake = Person2().also {println(it)}getPerson().also {it.token?.let { tempToen -> login(tempToen) }}
}class Person2(var name: String = "test",var age: Int = 0,var about: String? = null
) {var token: String? = nulloverride fun toString(): String {return "Person(name=$name, age=$age, about=$about)"}
}fun login(toke: String) {}fun getPerson(): Person2 = Person2()

运行结果
在这里插入图片描述

推荐

Kotlin: 协程的四种启动模式(CoroutineStart)

http://www.mmbaike.com/news/67855.html

相关文章:

  • php网站开发环境的设置网络营销的内涵
  • web和网站的区别考研培训班哪个机构比较好
  • 云梦网络做网站找客户资源的软件
  • 正在建设的网站网站免费推广的方法
  • 做网站要学的知识新闻危机公关
  • 陆良网站建设aso优化哪家好
  • 好看的手机网站模板搜索竞价排名
  • 纯静态网站的用什么cms广州seo代理计费
  • 简述政府网站建设的基本流程西安seo排名收费
  • 网站建设入驻怎么做网站教程
  • wordpress端口更改重庆 seo
  • 地狱少女通信网站怎么做网络培训网站
  • h5微场景制作软件深圳seo优化排名公司
  • 南通网站设计制作公司全媒体运营师培训机构
  • 各个做网站的有什么区别网络推广与营销
  • 做设计用的素材下载网站有哪些seo搜索引擎推广什么意思
  • 郑州网站制作哪家好微信视频号可以推广吗
  • 自己写代码做网站要什么技术百度推广是什么意思
  • 杭州网站设计推荐柚米沈阳网站关键词优化多少钱
  • 一般网站自己可以做播放器吗永久域名查询
  • 东莞外网搭建公司网站人多怎么优化
  • 免费制作婚介网站移动营销
  • 那些做电影的网站赚钱吗外贸网站建设平台
  • 临沂网站建设咨询国际新闻最新消息美国
  • 网站建设教程开源代码下载创意营销策划方案
  • 在成都如何找到做网站的公司如何开网店
  • 网站建设需要编程吗市场营销公司
  • 郑州网站建设的公司深圳关键词首页排名
  • 常熟公司做网站扬州网络推广哪家好
  • 网站建设实践心得体会佛山疫情最新消息