flutter 中const,static,final区别

18 篇文章 0 订阅

const,static,final在Dart中表示完全不同的事物:

“ static ”表示成员在类本身而不是在类的实例上可用。这就是它的全部意思,并且没有用于其他任何用途。静态修改成员

“ final ”表示单分配:最终变量或字段必须具有初始化程序。一旦分配了值,最终变量的值就无法更改。 final修改变量

“ const ” 的含义在Dart中更加复杂和微妙。 const修改。您可以在创建集合时使用它,例如const [1,2,3]以及在构造对象(而不是new)时使用const Point(2,3)。在这里,const意味着可以在编译时完全确定对象的整个深度状态,并且对象将被冻结并且完全不可变。

常量对象具有一些有趣的属性和限制:
它们必须由可在编译时计算的数据创建。const对象无权访问在运行时需要计算的任何内容。1 + 2是有效的const表达式,但新的DateTime.now()不是。
它们是深刻的,传递不变的。如果您有一个包含集合的最终字段,那么该集合仍然可以是可变的。如果您有const集合,则其中的所有内容也必须递归地为const。
它们被规范。这有点像字符串实习:对于任何给定的const值,无论const表达式被计算了多少次,都将创建并重用单个const对象。

喜欢可以加Q群号:913934649,点赞,评论;

简书: https://www.jianshu.com/u/88db5f15770d

csdn:https://me.csdn.net/beyondforme

掘金:https://juejin.im/user/5e09a9e86fb9a016271294a7

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值