欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

【Flutter】Dart 数据类型 ( var 数据类型 | Object 数据类型 )

发布时间:2025/6/17 编程问答 61 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【Flutter】Dart 数据类型 ( var 数据类型 | Object 数据类型 ) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 一、 var 数据类型
  • 二、 var 数据类型不能被改变
  • 三、 Object 类型
  • 四、 完整代码示例
  • 五、 相关资源


Dart 语言中有 dynamic , var , Object , 333 种数据类型 ;





一、 var 数据类型



var 也是定义变量的关键字 , 使用 var 声明变量 , 也是 由系统根据该变量的 赋值 自动 推断该变量的数据类型 ; 该用法与 dynamic 关键字定义的变量类似 ;

代码示例 :

varDemo(){// 声明 var 变量var d = "CSDN";// 打印 var 变量的运行时类型print(d.runtimeType);// 打印 var 变量值print(d);}

运行结果 : d 变量的类型被自动推断为 String 类型 ;

String CSDN



二、 var 数据类型不能被改变



var 与 dynamic 变量的区别是 , 一旦 var 类型的变量的动态数据类型被定义后 , 其数 据类型不能再进行修改 , 如果 var 类型变量被赋值字符串后 , 再次为其赋值 int 类型 , 此时编译时就会被报错 ,





三、 Object 类型



Object 是 所有对象的基类 , 其中定义了一些方法 , 定义 Object 类型的变量后 , 就可以调用该对象的 Object 方法 ;

为其赋值时 , 可以 赋值其子类的类型值 , 如字符串值 , 相当于 多态用法 ;


Object 类中定义的方法 :

class Object {const Object();external bool operator ==(other);external int get hashCode;external String toString();@pragma("vm:entry-point")external dynamic noSuchMethod(Invocation invocation);external Type get runtimeType; }

代码示例 :

objectDemo(){// 定义 Object 类型变量Object d = "CSDN";// 调用 Object 对象的方法// 打印 var 变量的运行时类型print(d.runtimeType);// 打印 var 变量值print(d);}

运行结果 : 变量 d 的运行时类型是 String 类型 ;

String CSDN

Object 变量与 dynamic 变量的区别是 , Object 数据类型是确定的 , 就是 Object 类型 , Object 类型变量不能调用 Object 类中不存在的方法 ;





四、 完整代码示例



完整代码示例 :

import 'package:flutter/material.dart';class DartType extends StatefulWidget {@override_DartTypeState createState() => _DartTypeState(); }class _DartTypeState extends State<DartType> {@overrideWidget build(BuildContext context) {dynamicDemo();varDemo();objectDemo();return Container();}dynamicDemo(){dynamic d = "CSDN";// 打印 dynamic 变量的运行时类型print(d.runtimeType);// 打印 dynamic 变量值print(d);// 调用 dynamic 变量的方法, 静态编译时无法检查其中的错误, 运行时会报错//d.getName();// 为 dynamic 变量赋值 int 数据d = 666;// 打印 dynamic 变量的运行时类型print(d.runtimeType);// 打印 dynamic 变量值print(d);}varDemo(){// 声明 var 变量var d = "CSDN";// 打印 var 变量的运行时类型print(d.runtimeType);// 打印 var 变量值print(d);// 将已经被自动推测为 String 类型的 d 变量赋值一个 int 类型值// 此时就会在编译时报错//d = 666;}objectDemo(){// 定义 Object 类型变量Object d = "CSDN";// 调用 Object 对象的方法// 打印 var 变量的运行时类型print(d.runtimeType);// 打印 var 变量值print(d);// 调用 Object 不存在的方法就会报错//d.getName()}}

运行结果 :

String CSDN int 666 String CSDN String CSDN



五、 相关资源



参考资料 :

  • Dart 开发者官网 : https://api.dart.dev/
  • Flutter 中文网 ( 非官方 , 翻译的很好 ) : https://flutterchina.club/ , http://flutter.axuer.com/docs/
  • Flutter 官网 : https://flutter.dev/ ( 被墙 )
  • 官方 GitHub 地址 : https://github.com/flutter
  • Flutter 相关问题 : https://flutterchina.club/faq/ ( 入门阶段推荐看一遍 )

博客源码下载 :

  • GitHub 地址 : https://github.com/han1202012/flutter_app_hello ( 随博客进度一直更新 , 有可能没有本博客的源码 )

  • 博客源码快照 : https://download.csdn.net/download/han1202012/15113321 ( 本篇博客的源码快照 , 可以找到本博客的源码 )

总结

以上是生活随笔为你收集整理的【Flutter】Dart 数据类型 ( var 数据类型 | Object 数据类型 )的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。