Python迭代器
遍历一个集合
迭代器 和 for 循环 for (let i = 0; i < arr.length; i++)
其中最主要的差别就是:是否通过索引来访问集合
for in迭代协议
是指对象必须实现两个特殊的方法,即__iter__() 和 next(),以便能支持迭代操作
Cangjie迭代器
Iterator<T> 该类表示迭代器,提供 next 方法支持对容器内的成员进行迭代遍历Iterable<E>该接口表示可迭代,实现了该接口的类型(通常为容器类型)可以在 for-in 语句中实现迭代,也可以获取其对应的迭代器类型实例,调用 next 函数实现迭代。for-in 表达式用于遍历扩展了迭代器接口 Iterable 的类型实例。在Cangjie中,for-in 适用于遍历数组、元组等数据类型std 模块std.collection 包函数
Rust 迭代器
中的 for 循环是编译器提供的语法糖,最终还是对迭代器中的元素进行遍历迭代器之所以成为迭代器,就是因为实现了 Iterator 特征,要实现该特征,最主要的就是实现其中的 next 方法,该方法控制如何从集合中取值,最终返回值的类型是关联类型
next 方法对迭代器的遍历是消耗性的,
Golang迭代器
Go1.23 新特性:迭代器for range 支持用户定义容器类型的 for-range 和标准化形式的迭代器Go 中,yield 关键字的引入使得函数可以像迭代器一样工作
Swift
迭代器(Iterators) 和序列(Sequences) 组成了 Swift 中 for 循环的基础部分
Kotlin ,
可以使用iterator()函数来获取集合的迭代器,并使用next()来获取下一个元素
R语言
R语言有三种方式实现循环: (1)for循环、while循环 (2)apply函数族