首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dart/Flutter:“某些代码是否被注释或推断是正交的,它是动态的还是其他类型的”。

Dart/Flutter:“某些代码是否被注释或推断是正交的,它是动态的还是其他类型的”。
EN

Stack Overflow用户
提问于 2022-06-01 23:47:30
回答 1查看 30关注 0票数 0

https://dart.dev/guides/language/effective-dart/design#types

--如果代码是类型注释的,类型将显式地写入代码中。

如果推断出代码,则没有编写类型注释,Dart成功地自行确定了类型。推理可能失败,在这种情况下,指南不考虑推断。

如果代码是动态的,那么它的静态类型就是特殊的动态类型。可以显式注释动态代码,也可以推断代码。

换句话说,是否对某些代码进行注释或推断,与它是动态的还是其他类型的代码是正交的。

上面的解释非常抽象,我不清楚这到底是什么意思。

尤其是最后一句,它是否意味着“它可以被推断为另一种类型,即使它是类型-注解为‘动态’”?

但也许我觉得这不对。

因为我记得在开发过程中IDE告诉我“因为它是一个动态类型,所以您不能访问该成员”。

如果不是,我想要更具体地解释它究竟意味着什么。如果你能得到一些线索会很有帮助的。

EN

回答 1

Stack Overflow用户

发布于 2022-06-01 23:56:27

基本上,变量可以被类型注释:

代码语言:javascript
复制
int x = 1;

此外,可以推断:

代码语言:javascript
复制
var x = 1; // dart knows x is an integer because you assigned 1 to it.

变量可以是动态的,这意味着它的类型可以改变。

这就是前三句话的意思,最后一句是说动态变量既可以推断也可以注释:

代码语言:javascript
复制
dynamic someFunction() {
  return 1;
}

dynamic x = 'aaa'; // annotated
var y = someFunction(); // inferred

因此,变量是否被注释或推断与天气无关,它是动态的还是不动态的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72469143

复制
相关文章

相似问题

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