Kotlin this和it的使用区别

在 Kotlin 中,this 和 it 是两个关键字,用于引用不同的对象。

  1. this 关键字:

    • 在类或对象中,this 关键字引用当前对象本身。

    • 在 Lambda 表达式中,this 关键字引用包含该 Lambda 的类实例。

       class MyClass {private val value: Int = 42fun printValue() {println("值为 $value")println("当前对象:$this")}}val obj = MyClass()obj.printValue()
      

在这个示例中,我们定义了一个名为 MyClass 的类,并在 printValue 方法中使用了 this 关键字。当我们创建 MyClass 实例并调用 printValue 方法时,它将输出当前对象的值和引用。

  1. it 关键字:

    • 在 Lambda 表达式中,it 关键字引用接受 Lambda 参数的对象。当只有一个参数时,可以使用 it 关键字省略参数名。

       val list = listOf("Apple", "Banana", "Orange")list.forEach {println("当前元素:$it")}
      

在这个示例中,我们定义了一个名为 list 的列表,并使用 forEach 函数遍历列表。我们在 Lambda 表达式中使用了 it 关键字打印当前元素的值。

总结一下:

  • this 关键字主要用于引用当前对象本身或包含 Lambda 的类实例。
  • it 关键字主要用于引用接受 Lambda 参数的对象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/127057.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型需要哪类服务器

大模型需要高性能的服务器,以支持大规模的计算和存储需求。一般来说,大模型需要以下类型的服务器: 大型机:大型机可以提供强大的计算能力,适合处理大规模的数据和复杂的计算任务。 GPU服务器:GPU服务器可以…

2023秋《论文写作》课程总结

2023秋《论文写作》课程总结 授课教师为闵帆教授,原文链接《论文写作》 文章目录 2023秋《论文写作》课程总结一、关于写作工具二、关于写作中的单词、短语、语法等三、关于论文题目四、关于摘要和关键词五、关于引言部分六、关于方法及实验部分七、关于结论八、关…

亲测解决Input dtype must be either a floating point or complex dtype. Got: Long

这个问题是小虎在对张量去平均值的时候遇到。解决方法是先将改张量转成浮点数&#xff0c;然后再取平均值。 背景 pytorch ubuntu 22.04 问题原文 Traceback (most recent call last): File "<string>", line 1, in <module> RuntimeError: mean(): …

uniapp 拉起授权(拒绝后重新开启权限)

在 uniapp 中&#xff0c;你可以通过以下步骤来拉起权限&#xff0c;如果权限被拒绝&#xff0c;可以尝试重新开启权限&#xff1a; 引入 uniapp 的权限模块&#xff1a;首先&#xff0c;你需要在项目中引入 uniapp 的权限模块。在 manifest.json 文件中&#xff0c;找到 uni_m…

76. 最小覆盖子串

76. 最小覆盖子串 滑动窗口 经典写法 class Solution {public String minWindow(String s, String t) {HashMap<Character, Integer> window new HashMap<>(), need new HashMap<>();for(char c : t.toCharArray()) need.merge(c, 1, Integer::sum);int…

【面试】Kafka基础知识

定义 Kafka是一个分布式基于发布/订阅模式的消息队列 优点 解耦&#xff1a;上下游之间依赖解耦。缓冲/削峰&#xff1a;生产消息的速度和消费消息的速度不一致时&#xff0c;可以起到缓冲作用。异步&#xff1a;天然的异步处理机制&#xff0c;生产者把消息(任务)放进队列&…

vue+element ui中的el-button自定义icon图标

实现 button的icon属性自定义一个图标名称&#xff0c;这个自定义的图标名称会默认添加到button下i标签的class上&#xff0c;我们只需要设置i标签的样式就可以了 ##3. 按钮上使用自定义的icon 完整代码 <div class"lookBtn"><el-button icon"el-icon-…

CSS与基本选择器

<div class"c1" id"d1"></div> CSS基本知识 什么是css&#xff1a;CSS&#xff08;Cascading Style Sheet&#xff0c;层叠样式表)定义如何显示HTML元素。 当浏览器读到一个样式表&#xff0c;他就会按照这个样式l来进行渲染。其实就是让HT…

ChatGPT火了:还有哪些可以做的变现项目

一、写在前面 柴特鸡皮踢 大家都不陌生了 说实话&#xff0c;Chatgpt火了后&#xff0c;正经的项目没出来多少&#xff0c;出了一大批割九菜的。 为什么说是割韭菜&#xff0c;因为一群完全不懂技术&#xff0c;只会讲讲成功学、写作学、财经的大V也敢开社群、卖课。很多人听…

Linux中正则表达式等

grep命令&#xff1a;主要作用就是过滤查找文本内容 常用的选项有&#xff1a; -m 数字:匹配几次之后停止&#xff0c;按行匹配&#xff0c;不是按字符个数&#xff0c;例如 -v:取反 例如: -n:显示匹配的行号 例如&#xff1a; -c:仅显示匹配的行数&#xff0c;不显示匹配内…

基于Docker-consul容器服务更新与发现

目录 一、什么是服务注册与发现&#xff1a; 二、Docker-consul介绍&#xff1a; 三、consul的关键特性&#xff1a; 四、consul部署&#xff1a; 1.部署规划&#xff1a; 2.consul服务器部署&#xff1a; 2.1 建立consul服务&#xff1a; 启动consul后默认会监听5个端口&a…

c++ 实现二叉搜索树

二叉搜索树的概念 二叉搜索树 (BST&#xff0c;Binary Search Tree)&#xff0c;也称二叉排序树或二叉查找树。它要么是一颗空树&#xff0c;要么是满足以下性质的二叉树&#xff1a; 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值。若它的右子树不为…

Ubuntu MySQL客户端功能介绍(mysql-client)mysql命令(mysql客户端命令)数据库导出、数据库导入

文章目录 Ubuntu MySQL客户端(mysql-client)功能介绍MySQL客户端与服务端服务器端&#xff08;MySQL Server&#xff09;客户端&#xff08;MySQL Client&#xff09; 安装MySQL客户端连接到MySQL服务器&#xff08;mysql -h host -u user -p&#xff09;执行SQL查询批处理模式…

利用chatgpt大语言模型来做数据预处理

数据预处理是机器学习中的一个重要步骤&#xff0c;包括数据清洗、数据转换、特征选择等。这些步骤通常需要人工进行&#xff0c;或者使用专门的数据预处理工具和库&#xff0c;如Python的Pandas库、Scikit-learn库等。 今天我们将利用chatgpt(国内版本-小策智能问答)的辅助帮…

Spring - 手写模拟Spring底层原理

手写Spring 定义配置类AppConfig ComponentScan("com.spring.zsj") public class AppConfig {Beanpublic ApplicationListener applicationListener() {return new ApplicationListener() {Overridepublic void onApplicationEvent(ApplicationEvent event) {System…

Fabric二进制添加排序节点

目录 一、准备orderer11.1、注册orderer11.2、登记orderer11.3、登记orderer1的tls 二、添加orderer1的tls到系统通道三、获取最新的系统通道配置四、启动orderer1五、添加orderer1的endpoint到系统通道六、添加orderer1的tls到应用通道七、添加orderer1的endpoint到应用通道八…

【案例】3D地球(vue+three.js)

需要下载插件 <template><div class"demo"><div id"container" ref"content"></div></div> </template> <script> import * as THREE from three; // import mapJSON from ../map.json; import { Or…

pytorch 笔记:KLDivLoss

1 介绍 对于具有相同形状的张量 ypred​ 和 ytrue&#xff08;ypred​ 是输入&#xff0c;ytrue​ 是目标&#xff09;&#xff0c;定义逐点KL散度为&#xff1a; 为了在计算时避免下溢问题&#xff0c;此KLDivLoss期望输入在对数空间中。如果log_targetTrue&#xff0c;则目标…

【mediasoup-sfu-cpp】4: SfuDemo:join并发布视频创建RTCTransport流程分析

【mediasoup-sfu-cpp】3: SfuDemo:加入会议 有点卡,在本篇进行日志流程分析。demo\controller/RoomsController.hpp 创建router create() config.mediasoup.routerOptions++++++:OnSuccess D:\XTRANS\soup\mediasoup-sfu-cpp\demo\controller/RoomsController.hpp: Line 71: …

数据库高速缓存配置

数据库一般都配置数据高速缓存&#xff0c;并且可以高速缓存中按页大小分不同的缓冲池。 Oracle&#xff1a; db_cache_size是指db_block_size对应的缓冲池&#xff0c;也可以指定非db_block_size的缓冲池&#xff0c;一般也都会再配置一个32K的缓冲池&#xff0c;两个缓冲池加…