gpt4 book ai didi

string - DartPad允许字符串迭代

转载 作者:行者123 更新时间:2023-12-03 03:27:15 25 4
gpt4 key购买 nike

我想知道为什么下面的代码将test的每个字母都打印在 DartPad 上,并在终端上引发异常。我的意思是,Dart中的String不可迭代,因此我不理解这在DartPad上是如何工作的。我也希望那里有一个异常(exception)。有什么想法吗?

void main() {
var test = 'test';
for (var t in test) {
print(t);
}
}

我使用Dart 1.14.0对此进行了测试,但是在以前的版本中也是如此。

最佳答案

我猜这是因为Dart已转换为JavaScript,并且JavaScript支持对字符串进行迭代,并且可能出于性能原因,没有其他阻止它的检查。

恕我直言,一个错误是,即使test明确地键入为String,分析器也不会显示警告

void main() {
String test = 'test';
for (var t in test) {
print(t);
}
}

启用强模式时,我会收到警告。
my_project/.analysis_options
analyzer:
strong-mode: true

Type check failed: test (String) is not of type Iterable



对彼此而言
var test = 'test';
// or
String test = 'test';

关于string - DartPad允许字符串迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35166845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com