duplicate_pattern_assignment_variable
变量“{0}”已在此模式中被赋值。
描述
#当单个模式变量在同一模式赋值中多次被赋值时,分析器会产生此诊断。
示例
#以下代码会产生此诊断,因为变量 a
在模式 (a, a)
中被赋值了两次。
dart
int f((int, int) r) {
int a;
(a, a) = r;
return a;
}
常见修复方法
#如果您需要捕获所有值,请为每个匹配的子模式使用唯一的变量。
dart
int f((int, int) r) {
int a, b;
(a, b) = r;
return a + b;
}
如果某些值无需捕获,则使用通配符模式 _
以避免将值绑定到变量。
dart
int f((int, int) r) {
int a;
(_, a) = r;
return a;
}