欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > flutter语法:var、late、const、final区别

flutter语法:var、late、const、final区别

2025/5/16 19:06:32 来源:https://blog.csdn.net/Harvey_DHui/article/details/141677934  浏览:    关键词:flutter语法:var、late、const、final区别
  1. var: 用于声明可变变量,支持类型推断并能多次赋值,但只能是同类型的数据赋值。之后其类型更改,会抛出异常。

  2. var number = 10;void main() {print(number); // 这将打印10。number = 20; // 再次赋值,但必须同类型print(number); // 这将打印20。
    }
    

  3. late: 用于延迟初始化变量,可多次赋值。如果变量在初始化之前被访问,会抛出异常。

  4. late int number;//声明时不立即初始化void main() {print(number); // 这将抛出异常,因为number未初始化。number = 20; // 第一次初始化赋值print(number); // 这将打印20。number = 30; // 第二次赋值print(number); // 这将打印30。
    }
    

  5. const: 用于创建编译时常量且只能被赋值一次。使用const关键字的变量其值在编译时就已知,并且不能更改。

  6. const double pi = 3.14;//编译时就要赋值,不能通过计算获得void main() {print(pi); // 这将打印3.14。
    }
    

  7. final: 用于声明一个变量且只能被赋值一次。可以在运行时计算final变量的值并初始化。

  8. final int number = 20 + 1;void main() {print(number); // 这将打印21。// number = 30; // 这将抛出异常,因为number已被final声明为不可变。
    }
    

  9. 总结:

  10. 1、var是自推断类型,声明变量之后其类型不可变​​​​​​​late声明变量后,可以在后面的代码中对其进行初始化​​​​​​​;const、final:只能赋值一次,且赋值后都是不可变的。

  11. 2、var和late:var提供了类型推断和一定的灵活性,而late则提供了延迟初始化和显式懒加载的能力,有助于优化程序性能和资源使用。

  12. 3、const和final:const确保值在编译时确定且不可变,而final确保变量或字段在初始化后不可变,但可以在运行时确定其值。

        

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词