Kotlin:For-loop范围必须有一个“iterator()”方法

如果我使用var charSet = 1..10它的作品,但是当我使用下面的代码,我得到这个错误。

 var charSet = "A".."Z" for (value in charSet) { println("$value") } 

For-loop范围必须有一个“iterator()”方法。

请让我知道如何解决这个问题。

charSet是一个ClosedRange<String> ,该类型没有iterator()函数(但不包括IntRange)。 您可以将范围更改为'A'..'Z'或创建一个扩展函数ClosedRange<String>.iterator() ,它将返回一个Iterator 。 错误应该消失

它提供当前output.Change您的双引号单引号

  var charSet = 'A'..'Z' for (value in charSet) { println("$value") } 

要声明一个字符串,我们使用双引号和声明一个字符,我们使用单引号。 你可以遍历字符而不是字符串。 当您将引号更改为单引号时,您的代码将完美运行。