Чтобы проверить тип переменной в Dart, вы можете использовать несколько методов. Вот несколько примеров:
-
Использование свойства
runtimeType:var variable = 42; print(variable.runtimeType); // Output: int -
Использование оператора
is:var variable = 'Hello'; print(variable is String); // Output: true -
Использование
runtimeTypeс методомtoString():var variable = 3.14; print(variable.runtimeType.toString()); // Output: double -
Использование класса
TypeCheckerиз библиотекиpackage:analyzer(требуется добавление пакета в зависимости):import 'package:analyzer/dart/element/type.dart'; import 'package:analyzer/dart/element/element.dart'; import 'package:analyzer/dart/element/visitor.dart'; import 'package:analyzer/dart/element/type.dart'; import 'package:analyzer/dart/constant/value.dart'; import 'package:analyzer/dart/element/visitor.dart'; import 'package:analyzer/dart/element/type.dart'; bool isVariableOfType(Element variable, DartType type) { var visitor = _TypeCheckerVisitor(type); variable.visitChildren(visitor); return visitor.isTypeFound; } class _TypeCheckerVisitor extends RecursiveElementVisitor<void> { final DartType _type; bool isTypeFound = false; _TypeCheckerVisitor(this._type); @override void visitTypeName(TypeName node) { if (node.type == _type) { isTypeFound = true; } super.visitTypeName(node); } } void main() { var variable = 'Hello'; var type = String; print(isVariableOfType(variable, type)); // Output: true }
Это всего лишь несколько примеров того, как можно проверить тип переменной в Dart. Лучший метод зависит от вашего конкретного случая использования.