Kotlin 向我发送此错误 : For-loop range must have an 'iterator()' method

标签 kotlin

data class precioSuper(var producto:String, var precio: Int, val codigoDeBarras:String)

fun main(args: Array<String>) {
    //Qué vende o super?
    val galletas = precioSuper("galletas", 3, "0001")
    val chocolate = precioSuper("chocolate", 5, "0002")
    val leite = precioSuper("leite", 2, "0003")

    var productos = arrayListOf<String>("galletas", "chocolate", "leite")

    var totalProductos = productos.size
    var codigoDeBarras2 = for(producto in totalProductos)

}

在代码 var codigoDeBarras2 = for(producto in totalProductos) kotlin 的 channel 中向我发送此错误:“For-loop range 必须有一个 'iterator()' 方法”

错误恰好在“totalProductos”“for(producto in totalProductos)”中

最佳答案

错误在于您将 for 循环分配给变量。
for 不是表达式并且无法赋值。
另外,当您将 totalProductos 视为 Collection 时,表达式 producto in totalProductos 没有任何意义,但它只是一个整数。
如果您想迭代列表 productos 中的项目,您可以这样做:

for (producto in productos) {
    //..............
}

for (i in 0 until totalProductos) {
    //..............
}

productos.forEach { 

}

关于Kotlin 向我发送此错误 : For-loop range must have an 'iterator()' method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53449576/

相关文章:

Kotlin 将非英文字符打印为问号

java - 通过单击 View 检查 Espresso 是否启动了新 Activity

android - 从 RecyclerView 获取 EditTexts 值

maven - 创建着色 jar : Error in ASM processing class kotlin/collections/ArraysKt___ArraysKt. 类时出错:UTF8 字符串太大

Kotlin:从类的属性生成 Comparable#compareTo() 函数

json - Ktor:如何验证 JSON 请求?

android - CapturedTypeConstructor(*) 不是 RealmModel 的子类型

kotlin - 为什么 Kotlin Collections 中的 isEmpty 不是属性?

kotlin - vert.x 关于网络服务器的概念?

android - 通过方法 channel flutter 传递自定义对象