For 循环
for 循环可以对任何提供迭代器(iterator) 的对象进行遍历,语法如下:
for (item in collection) print(item)
循环体可以是一个代码块。
for (item: Int in ints) {
      // ……
}
如上所述, for 可以循环遍历任何提供了迭代器的对象。即:
有一个成员函数或者扩展函数 iterator() ,它的返回类型
有一个成员函数或者扩展函数 next() ,并且
有一个成员函数或者扩展函数 hasNext() 返回 Boolean 。
这三个函数都需要标记为 operator 。
对数组的 for 循环会被编译为并不创建迭代器的基于索引的循环。
如果你想要通过索引遍历一个数组或者一个 list,你可以这么做:
for (i in array.indices) {
print(array[i])
}
控制流
注意这种“在区间上遍历”会编译成优化的实现而不会创建额外对象。
或者你可以用库函数 withIndex :
for ((index, value) in array.withIndex()) {
println("the element at $index is $value")
}

For 循环 kotlin(10)的更多相关文章

  1. 048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和

    048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例--阶乘的累加和 本文知识点:通过案例练习嵌套循环应用 案例练习--阶乘的累加和 案例题目 ...

  2. Java多线程:用三个线程控制循环输出10次ABC

    转载:http://www.cnblogs.com/gaopeng527/p/5257884.html 题目:有A,B,C三个线程, A线程输出A, B线程输出B, C线程输出C,要求, 同时启动三个 ...

  3. While 循环 kotlin(11)

    While 循环while 和 do .. while 照常使用 while (x > 0) { x--} do { val y = retrieveData()} while (y != nu ...

  4. 用for、while、do-while循环输出10句“好好学习,天天向上!”

    #include "stdio.h" void main() { int time; ;time<=;time++) printf("%d.好好学习,天天向上!\n ...

  5. 《疯狂Kotlin讲义》读书笔记4——流程控制

    流程控制 与Java类似,Kotlin同样提供了两种基本的流程控制结构:分支结构和循环结构. Kotlin提供了 if 和 when 两种分支语句,其中 when 语句可以代替Java的switch语 ...

  6. Python:循环语句

    while 在某种条件下,执行某段程序 >>> w=0 >>> while w<5: ... print 'w :',w ... w=w+1 ... w : ...

  7. scala 学习笔记(01) 函数定义、分支、循环、异常处理、递归

    package yjmyzz import scala.io.StdIn object ScalaApp { def main(args: Array[String]) { println(" ...

  8. js for循环,为什么一定要加var定义i变量

    我知道,有些人(譬如之前的我)写js的for循环时,都不习惯加上var,这当然是语法允许的.譬如下面. for(i=0;i<10;i++){//就不写成: var i=0 alert(i); } ...

  9. ios开发环境 分支语句 、 循环结构(for) 、 循环结构

    1 完成命令解析程序 1.1 问题 有命令解析程序,该程序提供三个功能选项供用户选择,用户选择某功能后,程序在界面上输出用户所选择的功能名称.程序的交互效果如图-1所示: 图-1 由上图可以看出,程序 ...

随机推荐

  1. java 获取视频时间

    //先将视频保存到项目生成临时文件,获取时长后删除临时文件 // 使用fastdfs进行文件上传 @RequestMapping("/uploadVideoToFast") @Re ...

  2. Scrapy框架之高级 转

    一.CrawlSpider模板 创建项目 scrapy startproject 项目名称 查看模板 scrapy genspider -l 创建crawl模板 scrapy genspider -t ...

  3. Linux(CentOS)下编译安装apache

    Centos7.6系统 已经安装lnmp一键环境 想装个apache跑php7 (php7的安装以及与apache的交互在这里: https://www.cnblogs.com/lz0925/p/11 ...

  4. deep_learning_Function_ lambda函数详解

    这里总结了关于 Python 中的 lambda 函数的“一个语法,三个特性,四个用法”. 一个语法: 在 Python 中,lambda 函数的语法是唯一的.其形式如下: lambda argume ...

  5. Arduino短学期作业展示

    自己挖的坑终于填上了,真是欣慰啊= = 源代码:https://github.com/Miyeah/Arduino-Dormitory-Assistant Arduino-Dormitory-Assi ...

  6. java线程基础巩固---线程生产者消费者的综合实战结合Java8语法

    基于上一次[http://www.cnblogs.com/webor2006/p/8909558.html]学习的多个生产者与多个消费者模型,此次用另外一个案例来进一步巩固线程之间的调度处理,这里还是 ...

  7. java8学习之Lambda表达式深入与流初步

    Lambda表达式深入: 在上一次[http://www.cnblogs.com/webor2006/p/8135873.html]中介绍Lambda表达式的作用时,其中说到这点: 如标红处所说,既然 ...

  8. Resource ResourceLoader

    DefaultResourceLoader   -- > ResourceLoader 方法 ResourceLoader getResource(String location); Class ...

  9. 用github page为自己的项目编写文档

    ———————————————— 一.用md文件建立网页这一步要做的就是把四个实验报告做出来.1.首先为了方便管理,我们在ML下创建一个名为docs的文件夹. 2.然后在修改设置,让github从do ...

  10. SiteMesh的简单使用

    简介: SiteMesh是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的. 它能通过创建一个包装对象,也就是装饰来包裹的对象.尽管它是由Java语言来实现的, ...