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

news2024/11/17 4:36:39

1.普通方式输出一个字串的信息

fun main() {
    var info="Ktolin"
    //普通方式
    println("info的长度为${info.length}")
    println("info的最后一个字符${info[info.length-1]}")
    println("info全转换为大写${info.toLowerCase()}")
}

执行结果
在这里插入图片描述
2.apply函数的使用
apply函数的特点:始终返回对象的类型,一般大部分情况下,匿名函数都会持有一个it,但是apply不会持有it,但是会持有this this等于对象本身

fun main() {
    var info="Ktolin"
    //普通方式
    println("info的长度为${info.length}")
    println("info的最后一个字符${info[info.length-1]}")
    println("info全转换为大写${info.toLowerCase()}")
    println()
    //内置函数apply的使用方式
    //apply函数的特点:始终返回对象的类型,一般大部分情况下,匿名函数都会持有一个it,但是apply不会持有it,但是会持有this this等于对象本身
    var infoNew:String=info.apply {
     println("变量信息:$this")
        //this可以省略
        println("info的长度为${length}")
        println("info的最后一个字符${length-1}")
        println("info全转换为大写${toLowerCase()}")
    }
}

执行结果
在这里插入图片描述
3.真正使用apply的规则
apply函数的特点:始终返回对象的类型,因此可以使用链式调用

package Stage3

fun main() {
    var info="Ktolin"
    //普通方式
    println("info的长度为${info.length}")
    println("info的最后一个字符${info[info.length-1]}")
    println("info全转换为大写${info.toLowerCase()}")
    println()
    //内置函数apply的使用方式
    //apply函数的特点:始终返回对象的类型,一般大部分情况下,匿名函数都会持有一个it,但是apply不会持有it,但是会持有this this等于对象本身
    var infoNew:String=info.apply {
     println("变量信息:$this")
        //this可以省略
        println("info的长度为${length}")
        println("info的最后一个字符${length-1}")
        println("info全转换为大写${toLowerCase()}")
    }
    println()
    info.apply {
        println("变量信息:$this")
    }.apply {
        //this可以省略
        println("info的长度为${length}")
    }.apply {
        println("info的最后一个字符${length-1}")
    }.apply {
        println("info全转换为大写${toLowerCase()}")
    }
}

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

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

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

相关文章

Go 语言在 Windows 上的安装及配置

1. Go语言的下载 Golang官网:All releases - The Go Programming Language Golang中文网:Go下载 - Go语言中文网 - Golang中文社区 两个网站打开的内容只有语言不同而已,网站上清晰的标注了不同操作系统需要对应安装哪个版本,其中…

对类加载过程的通俗理解

开局一张图 一般来说,类加载分为:加载、验证、准备、解析、初始化 5个步骤。 各阶段略叙 1、加载 将.class文件加载进内存 2、验证 判断.class文件的格式是否正确 3、准备 为类的静态变量分配内存并设置初始值。只有b、c会在此阶段进行处理。 //…

移动端的帮助中心该如何设计?

随着移动互联网的发展,APP作为一种高效的营销工具,已经成为企业抢占移动端流量的重要手段。同时随着智能手机用户规模不断扩大,以及用户的消费逐渐向移动端转移,使得越来越多企业认识到 APP与其营销模式是成为互补的关系&#xf…

数据驱动未来:基于状态的维修在工业领域的前景

随着科技的不断进步,工业界正迎来一场革命,而其中的一颗明星是基于状态的维修(CBM)。这一技术正在改变工业维护的方式,通过实时数据分析和人工智能驱动,使维护从被动的、计划性的转变为主动的、预测性的。本…

基于多元宇宙算法优化的BP神经网络(预测应用) - 附代码

基于多元宇宙算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于多元宇宙算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.多元宇宙优化BP神经网络2.1 BP神经网络参数设置2.2 多元宇宙算法应用 4.测试结果:5…

3种清除logo的方法,使其干净整洁 自然无痕

信息爆炸的时代,我们每天都和图片打交道经常会遇到一些带有水印的图片。这些水印可能是品牌的标志或者是版权信息,但有时候它们会干扰到我们对图片的欣赏和使用。那么,怎么去掉图片logo水印呢? 毕竟影响图片美感,使用也不方便&a…

torch一些操作

Pytorch文档 Pytorch 官方文档 https://pytorch.org/docs/stable/index.html pytorch 里的一些基础tensor操作讲的不错 https://blog.csdn.net/abc13526222160/category_8614343.html 关于pytorch的Broadcast,合并与分割,数学运算,属性统计以及高阶操作 https://blog.csd…

Spring的基本概念

前言 Spring 究竟是什么?其实Spring简单来说就是一个包含众多工具方法的IOC容器。 那么什么是IOC呢? IoC Inversion of Control 翻译成中⽂是“控制反转”的意思. 既然Spring 是⼀个IoC(控制反转)容器,重点还在“容…

深度学习基本理论下篇:(梯度下降/卷积/池化/归一化/AlexNet/归一化/Dropout/卷积核)、深度学习面试

18、 请说明Momentum、AdaGrad、Adam梯度下降法的特点 Momentum、AdaGrad、Adam是针对SGD梯度下降算法的缺点的改进算法。在SGD算法中,如果函数的形状非均向(参数大小差异较大),SGD的搜索路径会呈“之字形”移动,搜索…

代码随想录打卡—day21—【二叉树】— 8.21

1 530. 二叉搜索树的最小绝对差 530. 二叉搜索树的最小绝对差 想法:先直接中序遍历(升序的序列)过程中相邻两个数的差值取min,自己写一次AC代码: /*** Definition for a binary tree node.* struct TreeNode {* …

JMETER基本原理

Jmeter基本原理是建立一个线程池,多线程运行取样器产生大量负载,在运行过程中通过断言来验证结果的正确性,可以通过监听来记录测试结果; JMETER是运行在JVM虚拟机上的,每个进程的开销比loadrunner的进程开销大&#x…

基于springboot+vue的食材商城(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

ChatGLM的int8量化以及由此对量化的梳理总结

目录 一、ChatGLM的int8量化 二、全流程量化 三、量化校准 目前随着模型规模越来越大,对于没有很多算力的人来说,使用大模型的门槛越来越高,因此ChatGLM提供的模型支持,fp16、int8和int4的量化,来降低加载模型的显存…

Dockerfile制作Nginx应用镜像

文章目录 使用Dockerfile制作基于Centos7的Nginx应用镜像创建Dockerfile创建镜像上传镜像-harbor修改hosts文件修改daemon.json重启DOCKER登录并上传测试镜像 使用Dockerfile制作基于Centos7的Nginx应用镜像 创建Dockerfile FROM centos:7 MAINTAINER "WWW" RUN yu…

多维时序 | MATLAB实现SCNGO-BiLSTM-Attention多变量时间序列预测

多维时序 | MATLAB实现SCNGO-BiLSTM-Attention多变量时间序列预测 目录 多维时序 | MATLAB实现SCNGO-BiLSTM-Attention多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | MATLAB实现SCNGO-BiLSTM-Attention多变量时间序列预测。 模型描…

论文阅读_条件控制_ControlNet

name_en: Adding Conditional Control to Text-to-Image Diffusion Models name_ch: 向文本到图像的扩散模型添加条件控制 paper_addr: http://arxiv.org/abs/2302.05543 date_read: 2023-08-17 date_publish: 2023-02-10 tags: [‘图形图像’,‘大模型’,‘多模态’] author: …

阿里云服务器-修改ecs操作系统,把window系统跟换成Linux操作系统

其他sql格式也在更新中,可直接查看这个系列,要是没有你需要的格式,可在评论或私信我 总目录 目录-后期更新打算 hive的nvl中的子查询 总目录我这个是window,默认应该都是window,我需要改成Linux系统第一步&#xff…

伦敦金走势图行情值得关注

不知道大家是否了解过伦敦金这个投资品种,或者有否财经网站以及金融终端上看到过它的行情走势图。其实,伦敦金并不是一种实实在在的黄金,而是一种跟踪伦敦现货黄金市场价格走势的黄金保证金交易品种,它每天的行情走势变化&#xf…

基于springboot自习室预约管理

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

基于樽海鞘群算法优化的BP神经网络(预测应用) - 附代码

基于樽海鞘群算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于樽海鞘群算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.樽海鞘群优化BP神经网络2.1 BP神经网络参数设置2.2 樽海鞘群算法应用 4.测试结果:5…