Kotlin的遍历方法

for循环

在下面代码中1…10表示的是1到10,两边都是闭包,输出12345678910

        for (i in 1..10) println(i)

加上花括号也支持

        for (i: Int in 1..10) {println(i)}

另外,当对整数进行for循环时,Kotlin还提供了一个step函数来定义迭代的步长:

        for (i in 1..10 step 2) print(i)13579

如果是倒序呢?也没有问题,可以用downTo方法来实现

       for (i in 10 downTo 1 step 2) print(i) // 通过downTo,而不是10..1108642

此外,还有一个until函数来实现一个半开区间:

       for (i in 1 until 10) { print(i) }123456789 // 并不包含10

in

可以使用in来判断成员关系

println("a" in arrayOf("q","w","p")) //false
println("a" in arrayOf("q","a","p")) //true
println("a" !in arrayOf("q","w","p")) //true

除了等和不等,in还可以结合范围表达式来表示更多的含义:

        "kot" in "abc".."xyz"true

上面代码在java中的表达式为

        "kot" >= "abc" && "abc" <= "xyz"

此外,我们还可以通过调用一个withIndex方法,提供一个键值元组:

        for ((index, value) in array.withIndex()) {println("the element at $index is $value")}

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

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

相关文章

利用python制作AI图片优化工具

将模糊图片4K高清化效果如下&#xff1a; 优化前的图片 优化后如下图&#xff1a; 优化后图片变大变清晰了效果很明显 软件界面如下&#xff1a; 所用工具和代码&#xff1a; 1、所需软件包 网盘链接&#xff1a;https://pan.baidu.com/s/1CMvn4Y7edDTR4COfu4FviA提取码&…

【SpringMVC】工作流程及入门案例

目录 前言 回顾MVC三层架构 1. SpringMVC简介 …

Nginx安装及配置负载均衡

文章目录 官网下载Nginx解压安装常用命令配置负载均衡七层负载均衡nginx的负载均衡语法nginx的负载均衡策略故障下线和备份服务设置proxy_pass参数 官网下载Nginx http://nginx.org/en/download.html 注&#xff1a;下载稳定版&#xff0c;即Stateable Version的&#xff0c;…

《智能网联汽车自动驾驶功能测试规程》

一、 编制背景 2018 年4 月12 日&#xff0c;工业和信息化部、公安部、交通运输部联合发布《智能网联汽车道路测试管理规范(试行)》&#xff08;以下简称《管理规范》&#xff09;&#xff0c;对智能网联汽车道路测试申请、审核、管理以及测试主体、测试驾驶人和测试车辆要求等…

【Kafka】ZooKeeper启动失败报错java.net.BindException: Address already in use: bind

问题描述 Kafka 2.8.1 ZooKeeper启动失败。 zookeeper-server-start.bat ../../config/zookeeper.properties[2023-09-04 18:21:49,497] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory) [2023-09-04 18:21:49,498] ERROR Un…

船舶稳定性和静水力计算——绘图体平面图,静水力,GZ计算(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Qt鼠标点击事件处理:显示鼠标点击位置(完整示例)

Qt 入门实战教程&#xff08;目录&#xff09; 前驱文章&#xff1a; Qt Creator 创建 Qt 默认窗口程序&#xff08;推荐&#xff09; 什么是事件 事件是对各种应用程序需要知道的由应用程序内部或者外部产生的事情或者动作的通称。 事件&#xff08;event&#xff09;驱动…

RHCA之路---EX280(4)

RHCA之路—EX280(4) 1. 题目 Use the S2I functionality of your OpenShift instance to build an application in the rome project Use the Git repository at http://services.lab.example.com/php-helloworld for the application source Use the Docker image labeled re…

java八股文面试[数据库]——mysql主从复制

什么是mysql的主从复制&#xff1f; MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式&#xff0c;这样从节点不用一直访问主服务器来更新自己的数据&#xff0c;数据的更新可以在远程连接上进行&#xff0c;从节点…

[系统安全] 五十三.DataCon竞赛 (2)2022年DataCon涉网分析之恶意样本IOC自动化提取数据集详解

您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系…

力扣71. 简化路径

71. 简化路径 给你一个字符串 path &#xff0c;表示指向某一文件或目录的 Unix 风格 绝对路径 &#xff08;以 / 开头&#xff09;&#xff0c;请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中&#xff0c;一个点&#xff08;.&#xff09;表示当前目录本身&a…

【Spring Boot】使用MyBatis注解实现数据库操作

使用MyBatis注解实现数据库操作 MyBatis还提供了注解的方式&#xff0c;相比XML的方式&#xff0c;注解的方式更加简单方便&#xff0c;无须创建XML配置文件。接下来好好研究注解的使用方式。 1.XML和注解的异同 1&#xff09;注解模式使用简单&#xff0c;开发效率高&#…

C++类和对象

文章目录 C类和对象封装类的封装性类的初识构造和析构构造和析构函数定义构造的分类以及调用深拷贝与浅拷贝初始化列表与成员对象对象成员的初始化列表 explicit 关键字动态对象的创建对象的创建new operator给基本对象申请空间给对象申请空间 静态成员静态成员变量静态成员函数…

【SpringSecurity】十一、SpringSecurity集成JWT实现token的方法与校验

文章目录 1、依赖与配置2、JWT工具类3、认证成功处理器4、创建JWT过滤器5、安全配置类 1、依赖与配置 添加JWT的maven依赖&#xff1a; <!-- 添加jwt的依赖 --> <dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId…

NC后端扩展开发

前言 在日常的工作中&#xff0c;会遇到各种各样的需要进行扩展开发的需求&#xff0c;可以使用系统预留的扩展开发机制来实现&#xff0c;避免修改源码。因NC产品已迭代至BIP版本&#xff0c;所以前端扩展方式就再进行不赘述了&#xff0c;本文主要介绍后端扩展开发方式&…

50个Linux常用命令行快捷键(大部分适配Mac OS)

50个Linux常用命令行快捷键 &#xff08;大部分适配Mac OS&#xff09; 移动光标到行首&#xff1a;Ctrl a移动光标到行尾&#xff1a;Ctrl e移动光标到上一个单词的开头&#xff1a;Ctrl ←移动光标到下一个单词的开头&#xff1a;Ctrl →删除光标之前的字符&#xff1a;C…

sentinel blockHandler不生效

sentinel blockHandler不生效: package org.bc.sentinel.controller;import com.alibaba.csp.sentinel.annotation.SentinelResource; import com.alibaba.csp.sentinel.slots.block.BlockException; import org.apache.commons.lang3.RandomUtils; import org.springfram…

LeetCode 47题:全排列2

题目 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2],[1,2,1],[2,1,1]]示例 2&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[…

机器学习---预剪枝、后剪枝(REP、CCP、PEP、)

1. 为什么要进行剪枝 横轴表示在决策树创建过程中树的结点总数&#xff0c;纵轴表示决策树的预测精度。 实线显示的是决策树 在训练集上的精度&#xff0c;虚线显示的则是在⼀个独⽴的测试集上测量出来的精度。 随着树的增⻓&#xff0c;在 训练样集上的精度是单调上升的&…

缓存的放置时间和删除时间

缓存的放置时间和删除时间是指缓存中存储的数据的生命周期。这两个时间点非常重要&#xff0c;因为它们决定了缓存数据的有效期和何时应该从缓存中删除。 缓存的放置时间&#xff08;Cache Put Time&#xff09;&#xff1a;这是指数据首次放入缓存的时间点。当数据被放入缓存时…