【第三阶段】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标签过长 效果: 代码: <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如何避免消息重复投递或重复消费? 在消息生产时,MQ 内部针对每条生产者发送到消息生成一个 inner-msg-id,作为去重的依据(消息投递失败并重传),避免重复的消息进入队列;…...
day24 | 理论基础、77. 组合
目录: 解题及思路学习 理论基础 回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案,如果想让回溯法高效一些,可以加一些剪枝的操作,但也改不了回溯法就是穷举的本质。 回溯法,一般可以…...
数据结构(1)
数据结构其实就是将数据按照一定的关系组织起来的集合,用于组织和存储数据。 1.数据结构分类 1.逻辑结构 逻辑结构是从具体问题中抽象出来的模型,是抽象意义的结构,按照对象中数据的相互关系进行分类。 1>集合结构:集合结构中…...
10个非常有用的Python库,你知道几个?
整理|TesterHome 这里给大家介绍10个不是最流行但非常有用的Python库,希望可以提供参考帮助。 PyO3 PyO3是一个Rust库,可以让你在Rust中编写Python模块。它可以利用 Rust 的速度和安全性编写高性能的 Python 模块。 https://github.com/PyO3…...
linux安装 MySQL8 并配置开机自启动
目录 1.下载 mysql 安装包 2.上传并解压 mysql 3.修改 mysql 文件夹名 4.创建mysql 用户和用户组 5.数据目录 (1)创建目录 (2)赋予权限 6.初始化mysql (1)配置参数 (2)配置环…...
MySQL视图
一、视图-介绍及基本语法 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。 通俗的讲,视图只保存了查询的SQL逻辑…...
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的核心功…...
DeepSeek-R1-Distill-Llama-8B部署全攻略:一条命令搞定推理模型
DeepSeek-R1-Distill-Llama-8B部署全攻略:一条命令搞定推理模型 1. 模型简介 1.1 什么是DeepSeek-R1系列? DeepSeek-R1是专为推理任务优化的语言模型系列,包含两个核心版本: DeepSeek-R1-Zero:完全通过强化学习训练…...
langchain AI开发大模型翻译助手
我直接给你运行后的真实输出结果,并把为什么会这样输出讲得明明白白! 一、你的代码 最终输出结果 prompt: [SystemMessage(content你是一个翻译专家,擅长将 英文 语言翻译成 中文语言.), HumanMessage(contentI love Large Language Model.)] result: 我…...
通义千问3-VL-Reranker实战分享:30+语言支持,打造全球化智能搜索助手
通义千问3-VL-Reranker实战分享:30语言支持,打造全球化智能搜索助手 1. 引言:全球化搜索的挑战与机遇 在当今信息爆炸的时代,跨语言信息检索已成为企业和个人面临的普遍挑战。传统搜索引擎在处理多语言内容时往往力不从心&#…...
2026年网盘性价比终极对决,10款网盘实测
上传龟速、下载受限、会员条约复杂——这是不少用户在2026年使用网盘时的真实痛点。面对市面上琳琅满目的云存储选项,很多人陷入了选择焦虑。为了解决这一问题,我们将视角聚焦于“效率”与“安全”,对市面上的10款主流网盘进行了系统性实测。…...
TranslucentTB:Windows任务栏透明化工具,让桌面视觉体验焕然一新
TranslucentTB:Windows任务栏透明化工具,让桌面视觉体验焕然一新 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB …...
Stable Diffusion像素艺术工作站实战:Pixel Fashion Atelier Forge Scale调优指南
Stable Diffusion像素艺术工作站实战:Pixel Fashion Atelier Forge Scale调优指南 1. 像素时装锻造坊简介 Pixel Fashion Atelier是一款基于Stable Diffusion与Anything-v5的图像生成工作站,专为像素艺术创作而设计。与传统AI工具不同,它采…...
一篇关于论文复现的思考:基于领域相似度的复杂网络节点重要度评估算法
论文复现—基于领域相似度的复杂网络节点重要度评估算法 编写程序代码matlab 复现算法仿真最近在学习复杂网络的相关算法,看到一篇挺有意思的论文,讲的是基于领域相似度的节点重要度评估方法。说实话,这类算法听起来有点抽象,但…...
ai辅助开发:基于快马平台为trea国际版添加汇率数据智能分析功能
最近在开发Trea国际版应用时,遇到了一个需求:如何让用户更直观地理解汇率波动趋势,并通过自然语言交互获得分析结果。这个功能看似复杂,但借助InsCode(快马)平台的AI辅助开发能力,整个过程变得异常简单。下面分享我的实…...
从零搭建硬件测试台:手把手教你用LabVIEW连接菊水PBZ40电源并读取数据
从零搭建硬件测试台:LabVIEW与菊水PBZ40电源的深度集成实战 在工业自动化和科研测试领域,可编程电源的系统集成一直是工程师面临的常见挑战。菊水PBZ40系列作为实验室常用高精度电源,其RS232C接口与LabVIEW图形化编程环境的结合,能…...
Pixel Fashion Atelier应用场景:像素艺术工作坊教学——青少年AI创意设计课教案
Pixel Fashion Atelier应用场景:像素艺术工作坊教学——青少年AI创意设计课教案 1. 项目概述 Pixel Fashion Atelier(像素时装锻造坊)是一款专为青少年创意教育设计的AI图像生成工具。它基于Stable Diffusion和Anything-v5技术,…...
