当前位置: 代码迷 >> 综合 >> Dart 中 的var 、 final 、dynamic 、 const
  详细解决方案

Dart 中 的var 、 final 、dynamic 、 const

热度:15   发布时间:2023-12-03 23:46:13.0

在Dart中所有未初始化的变量默认值均为null。

  • final必须初始化,只能赋值一次,且不能修改值,赋值可以是常量也可以是变量。

  • const必须初始化,只能赋值一次,且不能修改值,赋值必须是常量。

    • const必须根据可在编译时计算的数据创建它们。
    • const对象无法访问运行时需要计算的任何内容。
    • 使用const关键字声明的变量是隐式final的。
    • 可以把const 常量赋给 final 变量,反过来不可以。
    • final和const可以与变量的数据类型一起使用,也可以与 var 关键字一起使用
  • var 编译时确定的类型

  • dynamic 运行时确定类型

    编译期会自动匹配var 变量的实际类型,并用实际类型来替换该变量的申明,这看上去就好像我们在编码的时候是用实际类型进行申明的。而dynamic被编译后,实际是一个 object类型,只不过编译器会对dynamic类型进行特殊处理,让它在编译期间不进行任何的类型检查,而是将类型检查放到了运行期。

参考文章:(https://blog.csdn.net/sinat_31057219/article/details/9020750

  相关解决方案