no_runtimeType_toString
避免在 runtimeType
上调用 toString()
。
详情
#在运行时类型上调用 toString
是一个非轻量级的操作,可能会对性能产生负面影响。最好避免这样做。
错误示例
dart
class A {
String toString() => '$runtimeType()';
}
正确示例
dart
class A {
String toString() => 'A()';
}
此 lint 规则在某些性能不是问题,或者真实类型信息比性能更重要的情况下有一些例外
- 在断言中
- 在 throw 表达式中
- 在 catch 子句中
- 在 mixin 声明中
- 在抽象类声明中
启用
#要启用 no_runtimeType_toString
规则,请在您的 analysis_options.yaml
文件中的 linter > rules 下添加 no_runtimeType_toString
analysis_options.yaml
yaml
linter:
rules:
- no_runtimeType_toString
如果您改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 no_runtimeType_toString: true
analysis_options.yaml
yaml
linter:
rules:
no_runtimeType_toString: true
除非另有说明,否则本网站上的文档反映的是 Dart 3.7.1 版本。页面上次更新于 2025-03-07。 查看源代码 或 报告问题。