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

【第三阶段】kotlin语言的内置函数let

1.使用普通方法对集合的第一个元素相加

fun main() {//使用普通方法对集合的第一个元素相加var list= listOf(1,2,3,4,5)var value1=list.first()var result=value1+value1println(result)
}

执行结果
在这里插入图片描述
2.使用let内置函数对集合的第一个元素相加

package Stage3fun main() {//使用普通方法对集合的第一个元素相加var list= listOf(1,2,3,4,5)var value1=list.first()var result=value1+value1println("普通方式:$result")//let方法val result2=listOf(1,2,3,4,5).let {//it==list集合it.first()+it.first()//匿名函数的最后一行作为返回值,let特点  上文的apply永远返回对象本身}println("let方式:$result2")}

执行结果
在这里插入图片描述
3.apply和let的对比

  • apply函数的返回值类型永远都是对象本身,let函数的返回值类型根据最后一行的类型变化而变化。
  • apply函数,匿名函数里面持有的是this,let函数里面持有的是it

4.普通方式对值判null

package Stage3fun main() {//使用普通方法对集合的第一个元素相加var list= listOf(1,2,3,4,5)var value1=list.first()var result=value1+value1println("普通方式:$result")//let方法val result2=listOf(1,2,3,4,5).let {//it==list集合it.first()+it.first()//匿名函数的最后一行作为返回值,let特点  上文的apply永远返回对象本身}println("let方式:$result2")//普通方式对值判nullprintln(isNullvalue(null))
}fun isNullvalue(value:String?)=if(value==null)"我是null" else "我是$value"

执行结果
在这里插入图片描述
5.let+空合并操作符方式对值判null,并返回

package Stage3fun main() {//使用普通方法对集合的第一个元素相加var list= listOf(1,2,3,4,5)var value1=list.first()var result=value1+value1println("普通方式:$result")//let方法val result2=listOf(1,2,3,4,5).let {//it==list集合it.first()+it.first()//匿名函数的最后一行作为返回值,let特点  上文的apply永远返回对象本身}println("let方式:$result2")//普通方式对值判null,并返回println("普通方式:${isNullvalue(null)}")//let+空合并操作符对值判null,并返回println("let+空合并操作符(正常写法)对值判null${isNullvalue2(null)}")//简化写法println("let+空合并操作符(简化写法)对值判null${isNullvalue3(null)}")
}
//简化写法
fun isNullvalue3(value: String?)=value?.let {it
}?:"简化写法我是null"//正常写法
fun isNullvalue2(value: String?): String? {return value?.let {it}?:"我是null"
}fun isNullvalue(value:String?)=if(value==null)"我是null" else "我是$value"

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

相关文章:

【第三阶段】kotlin语言的内置函数let

1.使用普通方法对集合的第一个元素相加 fun main() {//使用普通方法对集合的第一个元素相加var list listOf(1,2,3,4,5)var value1list.first()var resultvalue1value1println(result) }执行结果 2.使用let内置函数对集合的第一个元素相加 package Stage3fun main() {//使用…...

【C++入门到精通】C++入门 —— 模版(template)

阅读导航 前言一、模版的概念二、函数模版1. 函数模板概念2. 函数模板定义格式3. 函数模板的原理4. 函数模版的实例化🚩隐式实例化🚩显式实例化 5. 函数模板的匹配原则 三、类模板1. 类模板的定义格式2. 类模板的实例化 四、非类型模板参数1. 概念2. 定义…...

ARM汇编【3】:LOAD/STORE MULTIPLE PUSH AND POP

LOAD/STORE MULTIPLE 有时一次加载(或存储)多个值更有效。为此,我们使用LDM(加载多个)和STM(存储多个)。这些指令有一些变化,基本上只在访问初始地址的方式上有所不同。这是…...

Python之Qt输出UI

安装PySide2 输入pip install PySide2安装Qt for Python,如果安装过慢需要翻墙,则可以使用国内清华镜像下载,输入命令pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple PySide2,如下图, 示例Demo i…...

【1day】复现泛微OA某版本SQL注入漏洞

目录 一、漏洞描述 二、影响版本 三、资产测绘 四、漏洞复现 一、漏洞描述 泛微e-cology是一款由泛微网络科技开发的协同管理平台,支持人力资源、财务、行政等多功能管理和移动办公。泛微OA存在SQL注入漏洞,攻击者利用Web应用程序对用户输入验证上的疏忽,在输入的数据…...

安卓系列机型-禁止卸载某个APP 防止误卸载软件 无需root权限

安卓系列机型-禁止安装某软件 防止“沉迷游戏的小孩”操作解析_安卓机器的博客-CSDN博客 上一期讲了如何禁止安装某个app。今天讲下如何禁止卸载某app。正好相反的操作。任何操作有利有弊。主要看使用者如何对待使用。 💔💔💔以腾讯的一款游…...

【算法系列篇】二分查找——这还是你所知道的二分查找算法吗?

文章目录 前言什么是二分查找算法1.二分查找1.1 题目要求1.2 做题思路1.3 Java代码实现 2.在排序数组中查找元素的第一个和最后一个位置2.1 题目要求2.2 做题思路2.3 Java代码实现 3.搜索插入位置3.1 题目要求3.2 做题思路3.3 Java代码实现 4.x的平方根4.1 题目要求4.2 做题思路…...

【前端从0开始】JavaSript——分支流程控制

流程控制 在任何一门程序设计语言中,都需要支持满足程序结构 化所需要的三种流程控制: ●顺序控制 ●分支控制(条件控制) ●循环控制 顺序控制:在程序流程控制中,最基本的就是顺序控制。程序会按照自上而下的顺序执行…...

Linux权限

Linux中一切皆文件,那么文件就应该有相对于的类型,而在Linux当中,类型不是直接看后缀来决定的。 -普通文件、文本、可执行、归档文件等d目录b块设备、block、磁盘c字符设备、键盘、显示器p管道文件s网络socket文件l链接文件 link 然后后面的九…...

PMP如何备考?学习方式这里有

预习阶段:强烈建议跟着习课视频学习(自己看书真的很难看懂),初步了解PMBOK,有个大致印象; 精讲阶段:这个时候就需要静下心来深入了解各个知识模块,不仅是看PMBOK,还要尽…...

【Java转Go】快速上手学习笔记(四)之基础篇三

目录 泛型内置泛型的使用切片泛型和泛型函数map泛型泛型约束泛型完整代码 接口反射协程特点WaitGroupgoroutine的调度模型:MPG模型 channel介绍语法:举例:channel遍历基本使用和协程一起使用案例一案例二 select...casemain.go 完整代码 文件…...

vue中form和table标签过长

form标签过长 效果&#xff1a; 代码&#xff1a; <el-form-item v-for"(item,index) in ticketEditTable1" :label"item.fieldNameCn" :propitem.fieldName :key"item.fieldNameCn" overflow"":rules"form[item.fieldName…...

java基础复习(第七日)

java基础复习(七) 1.MQ如何避免消息重复投递或重复消费&#xff1f; 在消息生产时&#xff0c;MQ 内部针对每条生产者发送到消息生成一个 inner-msg-id&#xff0c;作为去重的依据&#xff08;消息投递失败并重传&#xff09;&#xff0c;避免重复的消息进入队列&#xff1b;…...

day24 | 理论基础、77. 组合

目录&#xff1a; 解题及思路学习 理论基础 回溯的本质是穷举&#xff0c;穷举所有可能&#xff0c;然后选出我们想要的答案&#xff0c;如果想让回溯法高效一些&#xff0c;可以加一些剪枝的操作&#xff0c;但也改不了回溯法就是穷举的本质。 回溯法&#xff0c;一般可以…...

数据结构(1)

数据结构其实就是将数据按照一定的关系组织起来的集合&#xff0c;用于组织和存储数据。 1.数据结构分类 1.逻辑结构 逻辑结构是从具体问题中抽象出来的模型&#xff0c;是抽象意义的结构&#xff0c;按照对象中数据的相互关系进行分类。 1>集合结构&#xff1a;集合结构中…...

10个非常有用的Python库,你知道几个?

整理&#xff5c;TesterHome 这里给大家介绍10个不是最流行但非常有用的Python库&#xff0c;希望可以提供参考帮助。 PyO3 PyO3是一个Rust库&#xff0c;可以让你在Rust中编写Python模块。它可以利用 Rust 的速度和安全性编写高性能的 Python 模块。 https://github.com/PyO3…...

linux安装 MySQL8 并配置开机自启动

目录 1.下载 mysql 安装包 2.上传并解压 mysql 3.修改 mysql 文件夹名 4.创建mysql 用户和用户组 5.数据目录 &#xff08;1&#xff09;创建目录 &#xff08;2&#xff09;赋予权限 6.初始化mysql &#xff08;1&#xff09;配置参数 &#xff08;2&#xff09;配置环…...

MySQL视图

一、视图-介绍及基本语法 视图&#xff08;View&#xff09;是一种虚拟存在的表。视图中的数据并不在数据库中实际存在&#xff0c;行和列数据来自定义视图的查询中使用的表&#xff0c;并且是在使用视图时动态生成的。 通俗的讲&#xff0c;视图只保存了查询的SQL逻辑&#xf…...

Pytorch-day05-可视化-checkpoint

PyTorch 可视化 1、模型结构可视化2、训练过程可视化3、模型评估可视化 #导入常用包 import os import numpy as np import torch from torch import nn from torch.utils.data import Dataset, DataLoader from torchvision.transforms import transforms import torchvis…...

实训笔记8.23

8.23笔记 8.23笔记一、Hive中函数1.1 Hive中内置函数1.1.1 数学函数1.1.2 字符串函数1.1.3 日期函数1.1.4 条件函数1.1.5 特殊函数 1.2 Hive的自定义函数1.2.1 自定义UDF1.2.2 自定义UDTF 二、Hive的压缩机制三、数据同步工具Sqoop的安装和使用3.1 sqoop的概念3.2 sqoop的核心功…...

2023年菏泽市中职学校技能大赛“网络安全”赛项规程

2023年菏泽市中职学校技能大赛 “网络安全”赛项规程 一、赛项名称 赛项名称&#xff1a;网络安全 赛项所属专业大类&#xff1a;信息技术类 二、竞赛目的 通过竞赛&#xff0c;检验参赛选手对网络、服务器系统等网络空间中各个信息系统的安全防护能力&#xff0c;以及分析…...

Android 13 - Media框架(6)- NuPlayer

上一节我们通过 NuPlayerDriver 了解了 NuPlayer 的使用方式&#xff0c;这一节我们一起来学习 NuPlayer 的部分实现细节。 ps&#xff1a;之前用 NuPlayer 播放本地视频很多都无法播放&#xff0c;所以觉得它不太行&#xff0c;这两天重新阅读发现它的功能其实很全面&#xff…...

机器学习|DBSCAN 算法的数学原理及代码解析

机器学习&#xff5c;DBSCAN 算法的数学原理及代码解析 引言 聚类是机器学习领域中一项重要的任务&#xff0c;它可以将数据集中相似的样本归为一类。DBSCAN&#xff08;Density-Based Spatial Clustering of Applications with Noise&#xff09;是一种是一种经典的密度聚类…...

用NUXT.JS,轻松搞定SEO!

nuxt.js 是什么&#xff1f; 如果你正在准备开发一个SEO友好的新项目&#xff0c;而且准备用 vue 开发&#xff0c;那么恭喜你&#xff0c;用 nuxt 是一个成本和效率都比较优秀的方案。 官方文档 知识中心案例 简单介绍下背景&#xff0c;这是一个专门为氚云低代码平台引流…...

什么是电商RPA?电商RPA能解决什么问题?电商RPA实施难点在哪里?

RPA机器人可以应用于各个行业和领域&#xff0c;例如金融、保险、制造、物流、电商等。它可以减少人工错误和重复工作&#xff0c;提高效率和生产力。RPA还可以在处理大量数据时加快处理速度&#xff0c;提供更准确和可靠的结果。此外&#xff0c;RPA还可以为员工提供更有价值的…...

【BUG】Docker启动MySQL报错

个人主页&#xff1a;金鳞踏雨 个人简介&#xff1a;大家好&#xff0c;我是金鳞&#xff0c;一个初出茅庐的Java小白 目前状况&#xff1a;22届普通本科毕业生&#xff0c;几经波折了&#xff0c;现在任职于一家国内大型知名日化公司&#xff0c;从事Java开发工作 我的博客&am…...

Spring Boot通过企业邮箱发件被Gmail退回的解决方法

这两天给我们开发的Chrome插件&#xff1a;Youtube中文配音 增加了账户注册和登录功能&#xff0c;其中有一步是邮箱验证&#xff0c;所以这边会在Spring Boot后台给用户的邮箱发个验证信息。如何发邮件在之前的文章教程里就有&#xff0c;这里就不说了&#xff0c;着重说说这两…...

Windows使用MobaXterm远程访问ubuntu20.04桌面

参考ubuntu 2020.4 安装vnc 一、脚本文件 remote_setup.sh脚本文件内容&#xff1a; #! /bin/bash #参考链接&#xff1a;https://blog.csdn.net/hailangdeyingzi/article/details/124507304 sudo apt update sudo apt install x11vnc -y sudo x11vnc -storepasswd telpo.12…...

C++注释风格

1. 文件头注释 每个文件都应该开始于一个注释块&#xff0c;描述文件的目的、作者、创建日期和版权信息。 /** FileName: MyClass.cpp* Purpose: Provides functionality for XYZ operations.* Author: [Your Name]* Creation Date: YYYY-MM-DD* Last Updated: YYYY-MM-DD* C…...

Linux 编译内核模块出现--Unknown symbol mcount

文章目录 Linux suse&#xff1a; # cat /etc/os-release NAME"SLES" VERSION"12-SP2" VERSION_ID"12.2" PRETTY_NAME"SUSE Linux Enterprise Server 12 SP2" ID"sles" ANSI_COLOR"0;32" CPE_NAME"cpe:/o:s…...

医院管理系统网站开发/成品网站1688入口网页版

正题第二题&#xff1a;[HNOI2003]操作系统我们看到了“优先级最高”这几个字&#xff0c;我们就想到了用堆来维护 bool operator<(const node y)const{if(ranky.rank) return begin>y.begin;return rank<y.rank; } 我们这样就可以来维护优先级高的在前面先做&#x…...

岐山县住房和城市建设局网站/婚恋网站排名前十名

第4章 并发编程 4.5 channel channel的传递 在Go语言中channel本身也是一个原生类型&#xff0c;与map之类的类型地位一样&#xff0c;因此channel本身在定义后也可以通过channel来传递。 利用channel的这个可传递特性&#xff0c;我们可以实现非常强大、灵活的系统架构。相比…...

广西建设培训中心网站/软文自助发布平台系统

今天在用nobody跑 脚本时&#xff0c;报错&#xff1a;登录root su apache 报错&#xff1a; su: cannot set user id: 资源暂时不可用 以前也遇到过这种问题&#xff0c;apache账号突然不可用。当时找的原因是系统进程太多&#xff0c;kill几个进程就可以了。 根本原因是&…...

网站建设实施计划包括/千峰培训多少钱

首先大家先看下Struts2中的源码 472行 container.inject(explicitResult); } } } 如果resultType实现了Result接口&#xff0c;则执行 container.inject(explicitResult); 现在我们来定义一个接口&#xff08;JsonResult&#xff0…...

找人做网站 自己购买服务器/线上拓客渠道有哪些

漏洞背景2020年12月08日&#xff0c;OpenSSL官方发布安全公告&#xff0c;披露CVE-2020-1971 OpenSSL GENERAL_NAME_cmp拒绝服务漏洞。OpenSSL是一个开放源代码的软件库包&#xff0c;应用程序可以使用这个包来进行安全通信&#xff0c;避免窃听&#xff0c;同时确认另一端连接…...

耐克1网站建设的总体目标/关键词优化外包服务

以下以添加Eclips为例 在桌面上添加Eclips.desktop 文件&#xff0c;向其写入如下代码 [Desktop Entry]NameEclipseComment用Eclipse开发Exec/usr/lib/eclispe/eclipseIcon/usr/lib/eclipse/eclipse32.pngTerminalfalseTypeApplicationCategoriesApplication;Development;将其…...