Dart—dynamic、var、Object的区别

时间:2020-11-05 15:11:24   收藏:0   阅读:40
//
main(List<String> args) {
  dynamic x = "xxx"; // 动态数据类型
  print(x.runtimeType); // 只有在运行的时候才能知道具体的数据类型,所以可能存在数据类型检查失败的情况
  print(x);
  // x.foo(); // 这里编译的时候不会报错,但是运行的时候才会报错
  x = 123;
  print(x.runtimeType); // 可以修改它的数据类型

  var y = "yyy";
  print(y.runtimeType);
  print(y);
  // y = 123;  // 非动态数据类型,一旦确定了类型,无法修改,这里会报错

  Object z = "zzz";
  print(z.runtimeType);
  print(z); // 不同于dynamic,它不能调用Object所不存在的方法
  Object a = {"a": 1};
}

 

原文:https://www.cnblogs.com/codexlx/p/13930696.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!