首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kotlinapply,run,let,also,with函数总结

函数介绍 apply fun T.apply(f: T.() -> Unit): T { f(); return this } 返回值是本身 run run函数和apply函数很像,只不过...run函数是使用最后一行的返回,apply返回当前自己的对象。...(f: (T) -> R): R = f(this) let是将当前的函数传入后面的闭包(it),可以随意指定返回值得类型 是不是意味着可以在let,对其本身进行操作。...都是在本身的调用方式上,强制返回本身 with with函数是一个单独的函数,并不是Kotlin的extension,所以调用方式有点不一样,返回是最后一行,然后可以直接调用对象的方法,感觉像是let.../返回值强制就是本身 } //run m.run { //1.调用函数直接写 //1.调用函数可以直接写 println(getMpValue

1.4K20

【Kotlin】标准库函数 ② ( run 标准库函数 | run 函数传入 Lambda 表达式作为参数 | run 函数传入函数引用作为参数 )

文章目录 一、run 标准库函数 1、run 函数传入 Lambda 表达式作为参数 2、run 函数传入函数引用作为参数 Kotlin 语言中 , 在 Standard.kt 源码 , 为所有类型定义了一批标准库函数..., 所有的 Kotlin 类型都可以调用这些函数 ; 一、run 标准库函数 ---- 1、run 函数传入 Lambda 表达式作为参数 run 标准库函数原型如下 : /** * 调用以' this...Lambda 表达式 作为参数 , 该 run 函数的 返回值 就是 Lambda 表达式 的返回值 ; 代码示例 : 在下面的代码 , run 函数的 Lambda 表达式参数 返回的是 boolean...(ret) } 执行结果 : true 2、run 函数传入函数引用作为参数 在上述函数原型 : public inline fun T.run(block: T.() -> R):...R {} run 函数 , 传入 T.() -> R 类型 的 函数参数 , 此处也可以传入 函数引用 ; 利用 run 函数的该用法 , 可以进行链式调用 ; 代码示例 : 在下面的代码 , "hello

82210
您找到你想要的搜索结果了吗?
是的
没有找到

with、run函数使用教程

一、回调函数的Kotin的lambda的简化 在KotlinJava的一些的接口的回调做了一些优化,可以使用一个lambda函数来代替。可以简化写一些不必要的嵌套回调方法。...4、run函数的kotlin和Java转化 //kotlin fun main(args: Array) { val user = User("Kotlin", 1, "1111111...因为run函数是let,with两个函数结合体,准确来说它弥补了let函数函数体内必须使用it参数替代对象,在run函数可以像with函数一样可以省略,直接访问实例的公有属性和方法,另一方面它弥补了...with函数传入对象判空问题,在run函数可以像let函数一样做判空处理 6、run函数使用前后的对比 还是借助上个例子kotlin代码 override fun onBindViewHolder(holder...正是基于这一点差异它的适用场景稍微与run函数有点不一样。apply一般用于一个对象实例初始化的时候,需要对对象的属性进行赋值。

42300

Kotlinlet()with()run()apply()also()函数的使用方法与区别

一、回调函数的Kotin的lambda的简化 在KotlinJava的一些的接口的回调做了一些优化,可以使用一个lambda函数来代替。可以简化写一些不必要的嵌套回调方法。...因为run函数是let,with两个函数结合体,准确来说它弥补了let函数函数体内必须使用it参数替代对象,在run函数可以像with函数一样可以省略,直接访问实例的公有属性和方法,另一方面它弥补了...with函数传入对象判空问题,在run函数可以像let函数一样做判空处理 6、run函数使用前后的对比 还是借助上个例子kotlin代码 override fun onBindViewHolder(holder...正是基于这一点差异它的适用场景稍微与run函数有点不一样。apply一般用于一个对象实例初始化的时候,需要对对象的属性进行赋值。...onBinderViewHolder,数据model的属性映射到UI上 run fun T.run(block: T.() – R): R = block() this指代当前对象或者省略 闭包形式返回

1.4K20

【Kotlin】标准库函数总结 ( apply 函数 | let 函数 | run 函数 | with 函数 | also 函数 | takeIf 函数 | takeUnless 函数 )

文章目录 一、apply 标准库函数 二、let 标准库函数 三、run 标准库函数 1、run 函数传入 Lambda 表达式作为参数 2、run 函数传入函数引用作为参数 四、with 标准库函数...: 后面设置 可读 , 可写 , 可执行 权限的配置操作 , 可以在 apply 标准库函数完成 , 代码如下 : import java.io.File fun main() { val...Lambda 表达式 作为参数 , 该 run 函数的 返回值 就是 Lambda 表达式 的返回值 ; 代码示例 : 在下面的代码 , run 函数的 Lambda 表达式参数 返回的是 boolean...(ret) } 执行结果 : true 2、run 函数传入函数引用作为参数 在上述函数原型 : public inline fun T.run(block: T.() -> R):...R {} run 函数 , 传入 T.() -> R 类型 的 函数参数 , 此处也可以传入 函数引用 ; 利用 run 函数的该用法 , 可以进行链式调用 ; 代码示例 : 在下面的代码 , "hello

1.7K10

javagetclass_java的getClass()函数

Java反射学习 所谓反射,可以理解为在运行时期获取对象类型信息的操作。...1,获得类型类 我们知道在Java中一切都是对象,我们一般所使用的对象都直接或间接继承自Object类。Object类包含一个方法名叫getClass,利用这个方法就可以获得一个实例的类型类。...类型类指的是代表一个类型的类,因为一切皆是对象,类型也不例外,在Java使用类型类来表示一个类型。所有的类型类都是Class类的实例。...可以看到,对象a是A的一个实例,A某一个类,在if语句中使用a.getClass()返回的结果正是A的类型类,在Java中表示一个特定类型的类型类可以用“类型.class”的方式获得,因为a.getClass

1.5K20

Python run()函数和start()函数的比较和差别介绍

run() 方法并不启动一个新线程,就是在主线程调用了一个普通函数而已。 start() 方法是启动一个子线程,线程名就是自己定义的name。...()”) t1 = threading.Thread(target=worker, name=“MyTryThread”) t1.run() print(“run() test end”) 运行结果:...()方法启动,但却是先运行t1.run(),运行完之后才按顺序运行t2.run(),两个线程都工作在主线程,没有启动新线程,thread ID都是一样的,因此,run()方法仅仅是普通函数调用。...() t2.run() print(“run() test end”) 运行结果: Start Test run() thread name = MainThread, thread id = 3920...()函数和start()函数的比较和差别介绍就是小编分享给大家的全部内容了,希望能给大家一个参考。

2K40

tf.session.run()单函数运行和多函数运行区别

problem introduction sess.run([a,b]) # (1)同时运行a,b两个函数 sess.run(a) sess.run(b) # (2)运行完a函数后再运行b函数 这两个语句初看时没有任何区别...,但是如果 a,b 函数恰好是读取 example_batch 和 label_batch 这种需要使用到 数据批次输入输出函数时 例如(tf.train.shuffle_batch.tf.reader.read...). (1)式只会调用一次输入数据函数,则得到的 example_batch 和 label_batch 来自同一批次。...这个需要十分注意,因为如果我们想要实时打印出 label_batch 和 inference(example_batch)时,即将输入数据的标签和经过模型预测推断的结果进行比较时.如果我们使用(2)的写法...example code 这里我们分别使用两种不同的代码,读取 csv 文件的数据。我们观察这两种方式读取的数据有什么不同。

89030

java random函数原理_详解JAVARandom()函数的用法

java自带的Random()函数让我们可以很方便的产生随机数。本文介绍它的一些用法。 随机数是专门的随机试验的结果。...在统计学的不同技术需要使用随机数,比如在从统计总体抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程,或者在进行蒙特卡罗模拟法计算的时候等等。 产生随机数有多种不同的方法。...Java存在着两种Random函数java.lang.Math.Random和java.util.Random。...java.lang.Math.Random 调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数...(100);的100是随机数的上限,产生的随机数为0-100的整数,不包括100。

95810

TensorFlow2.0安装_tensorflowrun

在数据分析,你会用到很多第三方的包,而conda(包管理器)可以很好的帮助你在计算机上安装和管理这些包,包括安装、卸载和更新包。 3)管理环境 为什么需要管理环境呢?...还有一件事要记住,cuDNN 文件需安装在不同的目录,并需要确保目录在系统路径。当然也可以将 CUDA 库的相关文件复制到相应的文件夹。...首先在 C:\Users\×××目录创建名为pip的文件夹(×××为用户名),然后在里面创建名为 pip.ini 的文件,最后在该文件添加以下内容,保存即可。...测试tensorflow 在Anaconda Prompt 启动tensorflow环境,并进入python环境。...print('tensorflow计算两数的和:', c_t) # 开启会话 with tf.Session() as sess: c_t_value = sess.run

1.1K30

关于java 的main函数

我们刚开始写java 程序最常见的除了System.out.println( );之外应该就是 public static void main( String arg[ ] ){ …… }了。...我们通常称之为主函数或者main函数。公共和静态就不用说了,这是java程序的一个入口,而String args [ ]里面是一些命令参数。...前提: 先说定义: 进程是指计算机的程序在某数据集合上的一次运行活动。 可以这么说,我们写完一段代码(程序)后。...一点解释: 其中main()是一个前台线程,前台进程是程序必须执行完成的,而后台线程则是java中所有前台结束后结束,不管有没有完成,后台线程主要用与内存分配等方面。...后台线程用于处理时间较短的任务,如在一个Web服务器可以利用后台线程来处理客户端发过来的请求信息。

1.7K20

详述Javasort排序函数

文章目录 前言 升序排序 降序排序 排序原理 ---- 前言 手写一个排序算法的效率是很慢的,当然这也不利于我们在比赛或者工程的实战,如今几乎每个语言的标准库中都有排序算法,今天让我来给大家讲解一下Java...语言中的sort排序 升序排序 Collections类的sort方法可以实现List接口的集合进行排序 public static void main(String[] args) {...(int j = 0; j < scores.length; j++) { System.out.print(scores[j] + "\t"); } } 降序排序 Java...降序排序有俩种方法(和c++很类似,可以看我这篇博客): c++sort排序 利用 Collections.reverseOrder() 方法 public static void main(String...实际上,可以使用一种归并排序的方法对链表高效的排序,不过,Java并不是这样做的,它是将所有元素转入一个数组,对数组进行排序,然后,将排好序 的序列复制回列表 事实上Collections.sort方法底层就是调用的

51520

详述Javasort排序函数

文章目录 前言 升序排序 降序排序 排序原理 ---- 前言 手写一个排序算法的效率是很慢的,当然这也不利于我们在比赛或者工程的实战,如今几乎每个语言的标准库中都有排序算法,今天让我来给大家讲解一下Java...语言中的sort排序 升序排序 Collections类的sort方法可以实现List接口的集合进行排序 public static void main(String[] args) { //...for (int j = 0; j < scores.length; j++) { System.out.print(scores[j] + "\t"); } } 降序排序 Java...降序排序有俩种方法(和c++很类似,可以看我这篇博客): c++sort排序 利用 Collections.reverseOrder() 方法 public static void main(String...实际上,可以使用一种归并排序的方法对链表高效的排序,不过,Java并不是这样做的,它是将所有元素转入一个数组,对数组进行排序,然后,将排好序 的序列复制回列表 事实上Collections.sort方法底层就是调用的

50430
领券