首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dart中的对象、动态和Var的区别?

Dart中的对象、动态和Var的区别?
EN

Stack Overflow用户
提问于 2021-07-29 04:42:45
回答 1查看 860关注 0票数 0

在空安全之前有一个关于dynamicvardynamic。那么它们之间的Object?是什么呢?

  1. Object? == dynamic
  2. var?dynamic?怎么样?
  3. dynamic?dynamic之间的任何差异

我看到了官方的文档关于null-safety,但找不到相关的话题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-29 05:46:54

  1. dynamic是一种禁止静态类型检查的特殊类型.您可以尝试调用dynamic类型上的任何方法。如果对象最终没有这样的方法,那么它将导致运行时失败,而不是编译时失败。 Object?是一个基本类型,适合引用任何对象,包括null。与dynamic不同的是,它是静态类型检查的,因此,如果尝试调用大多数方法而不显式检查运行时类型或不执行强制转换,则会出现编译时失败。
  2. var?不是有效的语法。var不是类型;它声明变量而不显式指定类型,允许推断类型。 dynamic?是有效的,但是是多余的。(见第3条)
  3. dynamic类型的变量可能已经包含了null,因此添加一个?使其为空是多余的。省道分析器会告诉你的。
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68570162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档